File: README

package info (click to toggle)
pdp 1%3A0.14.1%2Bdarcs20180201-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster
  • size: 3,220 kB
  • sloc: ansic: 22,424; asm: 2,088; makefile: 532; perl: 145; sh: 108; cpp: 4
file content (30 lines) | stat: -rw-r--r-- 1,059 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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.