diff options
Diffstat (limited to 'modules/README')
-rw-r--r-- | modules/README | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/modules/README b/modules/README new file mode 100644 index 0000000..54f816c --- /dev/null +++ b/modules/README @@ -0,0 +1,30 @@ +This file describes the protocol used for communicating packets. +See include/pdp.h and the sources in this directory for more info. + +There are 3 kinds of pdp messages: + +[pdp register_ro <packet_id>] +[pdp register_rw <packet_id>] +[pdp process] + +Together they form the pdp protocol. An object can receive a packet +by catching the 3 kinds of messages: + +When a register_ro message is received, the object can call +pdp_packet_copy_ro(packet) to reserve a read only copy for itself. + +The same goes for handling the register_rw message. You can +reserve a read/write copy by using pdp_packet_copy_rw(packet) + +When a process message is received, the object is allowed to start +processing the packet data end send the resulting packet(s) out. + +To send out a packet, use the pdp_packet_pass_if_valid(outlet, &packet) +method. It passes a packet, and sets the reference to -1 (the undefined +packet id). + + +If you want to write pdp externs, consider using the pdp_base object +to derive your object from. Have a look at pdp_add, pdp_gain, pdp_noise +to see how to do this. + |