SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

triggers 0.41

This is beta level software.

Triggers is a generic service that allows programs to notify users about events. Programs activate triggers when something interesting happens and users tie arbitrary behavior to them (run a program, play a sound) as directed by a home directory config file; the interaction occuring through an efficient daemon. Triggers can be passed off to other hosts, facilitating distributed actions. Triggers are lightweight and asynchronous.

A simple, fast library call is available to add triggers to software. Scripts can use an executable version.

?? Programs trying to initiate triggers always talk to a local daemon, ?? returning instantly to other tasks, even in failure.

The trigger daemon does not write anything to disk, but will reliably transmit triggers while a machine is up; undeliverable triggers are destroyed after 48 hours.

User root cannot receive triggers.

See section Setup for installation instructions.

Caveats

Triggers are never stored to disk. If your machine tanks, so do any extant messages.

Faking a trigger is easy.

Failure of configuration files, hostnames, bogus users, etc., results in a trigger's destruction.

Usage

They must be strings without null bytes.

Internals

triggerd is implemented with three threads. The first (and highest priority) manages locally generated triggers. 2 - socket server. 3 - outgoing triggers.

triggerd keeps a small cache of most-used user trigger commands, to avoid re-reading triggerrc files.

Protocol

port 861. picked at will.

This section is probably interesting only to bla...

version (1) + length/field pairs (user, service, action, data) (2/?) + timestamp (8) + delay (4) + hops (4)

Following rules:

  1. A server must discard triggers violating length restrictions.
  2. A server must ... rounding on delay ... timestamping.
  3. A trigger undeliverable for 24 hours must be discarded.
  4. A server must initialize a trigger to one hop.
  5. After 48 hours, a server may discard a trigger. [??]
  6. ...

Ideas

  1. Be alerted to mail on a faraway server when you actually receive it, instead of polling it every 5 minutes. Combine this with real-time channel mixing, and some ducking algorithms, and you can centralize audio cues.
  2. Custom handle talkd. tcl/tk popup
  3. bla

Setup

q) Depending on your version of libc, you might want to grab Tom ..'s latest

regular expression package, prep.ai.mit.edu/Rx-1.1...,

# follow his instructions :)

r) If you're using libc prior to version 6, install LinuxThreads.

ftp://ftp.inria.fr/INRIA/Projects/cristal/Xavier.Leroy/linuxthreads.tar.gz

Credits

Thanks to Anders Brownworth for testing.

References

  1. http://www.evantide.com/~jeremyw/software.html
  2. http://www.pobox.com/~djb

Finale

This package is released into the public domain. Do with it what you will; I'm not responsible in any way for its use.

Thoughts, criticism, patches and hate mail, welcome and appreciated.

April 22, 1998
Jeremy Wohl / jeremyw@evantide.com
http://www.evantide.com/~jeremyw/software


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.