File: component-protocol

package info (click to toggle)
jabberd2 2.7.0-10
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,196 kB
  • sloc: ansic: 37,104; sh: 1,100; perl: 656; xml: 561; makefile: 511; python: 238; ruby: 145; sql: 55
file content (60 lines) | stat: -rw-r--r-- 1,152 bytes parent folder | download | duplicates (7)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
C == component, R == router.
This all happens in state_OPEN (ie after auth).
These elements are scoped by the 'http://jabberd.jabberstudio.org/ns/component/1.0' namespace.

Joining the network
-------------------

Bind a name to this component:

C: <bind name='conference.jabber.org'>[options]</bind>
R: <bind/>
  or
R: <bind error='xxx'/>

Options:

   <default/>       Sets this component as the default route
   <log/>           Make this component a log sink (receives copies of all packets)

Unbind a name:

C: <unbind name='conference.jabber.org'/>
R: <unbind/>


Domain advertisement
-------------------

Domain online:

R: <presence from='conference.jabber.org'/>

Domain offline:

R: <presence from='conference.jabber.org' type='unavailable'/>


Sending packets
---------------

Send a unicast packet:

C: <route from='jabber.org' to='conference.jabber.org'>
     <payload xmlns='payload-namespace'/>
   </route>

Send a broadcast packet:

C: <route from='jabber.org' type='broadcast'>
     <payload xmlns='payload-namespace'/>
   </route>


Throttling packets
------------------

(Un)throttle packets (toggle):

C: <throttle/>
R: <throttle/>