diff --git a/README.md b/README.md index 12c0d8941..70d9e03c3 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ This is S2SS, a gateway to forward and process simulation data between real time ## Documentation -The docuementation for this software is available at [doc/Mainpage](doc/Mainpage.md). +The documentation for this software is available at [doc/Mainpage](doc/Mainpage.md). -You can access the prebuild documentation at: http://s2ss.0l.de (User: `s2ss`, Pass: `Nie4di5e`). +You can access the prebuild documentation at: http://s2ss:Nie4di5e@s2ss.0l.de (User: `s2ss`, Pass: `Nie4di5e`). Alternatively, you can build the documentation yourself by calling `doxygen` in this directory. ## Contact diff --git a/doc/Development.md b/doc/Development.md new file mode 100644 index 000000000..c91ecd5d9 --- /dev/null +++ b/doc/Development.md @@ -0,0 +1,36 @@ +# Development + +Developement is currently coordinated by Steffen Vogel using [GitHub](http://github.com/RWTH-ACS/S2SS). +Please feel free to submit pull requests or bug reports. + +## Extensibilty + +There are two main places where S2SS can easily extended: + +#### New node-type + + REGISTER_NODE_TYPE(struct node_type *vt) + +#### New hook functions + + /** The type of a hook defines when a hook will be exectuted. This is used as a bitmask. */ + enum hook_type { + HOOK_PATH_START = 1 << 0, /**< Called whenever a path is started; before threads are created. */ + + [...] + + HOOK_ASYNC = 1 << 6, /**< Called asynchronously with fixed rate (see path::rate). */ + + HOOK_PERIODIC = 1 << 7, /**< Called periodically. Period is set by global 'stats' option in the configuration file. */ + + /** @{ Classes of hooks */ + /** Internal hooks are mandatory. */ + HOOK_INTERNAL = 1 << 16, + /** All hooks */ + HOOK_ALL = HOOK_INTERNAL - 1 + /** @} */ + }; + + typedef int (*hook_cb_t)(struct path *p, struct hook *h, int when); + + REGISTER_HOOK(char *name, int priority, hook_cb_t cb, enum hook_type when) diff --git a/doc/Install.md b/doc/Install.md index 74bb89f4c..f94db3baf 100644 --- a/doc/Install.md +++ b/doc/Install.md @@ -29,7 +29,7 @@ Checkout the `Makefile` and `include/config.h` for some options which have to be Afterwards, start the compilation with: - $ make + $ make Append `V=5` to `make` for a more verbose debugging output. Append `DEBUG=1` to `make` to add debug symbols. @@ -38,7 +38,7 @@ Append `DEBUG=1` to `make` to add debug symbols. Install the files to your search path: - $ make install + $ make install Append `PREFIX=/opt/local` to change the installation destination. @@ -46,6 +46,6 @@ Append `PREFIX=/opt/local` to change the installation destination. Verify everything is working and required node-types are compiled-in: - $ s2ss server + $ s2ss server Will show you the current version of the server including a list of all supported node-types. diff --git a/doc/Tools.md b/doc/Tools.md index 3751e0d6f..4d534cbd1 100644 --- a/doc/Tools.md +++ b/doc/Tools.md @@ -31,11 +31,14 @@ The `pipe` subcommand allows to read and write samples to `stdin` / `stdout`. The `signal` subcommand is a signal generator which writes samples to `stdout`. This command can be combined with the `pipe` subcommand. - Usage: s2ss-signal SIGNAL VALUES RATE [LIMIT] - SIGNAL is on of: mixed random sine triangle square - VALUES is the number of values a message contains - RATE how many messages per second - LIMIT only send LIMIT messages + Usage: s2ss-signal SIGNAL [OPTIONS] + SIGNAL is on of: 'mixed', 'random', 'sine', 'triangle', 'square', 'ramp' + -v NUM specifies how many values a message should contain + -r HZ how many messages per second + -f HZ the frequency of the signal + -a FLT the amplitude + -d FLT the standard deviation for 'random' signals + -l NUM only send LIMIT messages and stop ### `s2ss test`