-
Notifications
You must be signed in to change notification settings - Fork 0
/
zgossip_msg.xml
44 lines (37 loc) · 1.33 KB
/
zgossip_msg.xml
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
<class
name = "zgossip_msg"
title = "ZeroMQ Gossip Protocol"
script = "zproto_codec_go"
package_dir = "."
>
This is a server implementation of the ZeroMQ Gossip Protocol (ZGP)
<include filename = "license.xml" />
<grammar>
C:HELLO ( C:PUBLISH / S:PUBLISH / heartbeat )
heartbeat = C:PING / S:PONG
</grammar>
<!-- Header for all messages -->
<header>
<field name = "version" type = "number" size = "1" value = "1">Version = 1</field>
</header>
<message name = "hello">
Client says hello to server
</message>
<message name = "publish">
Client or server announces a new tuple
<field name = "key" type = "string">Tuple key, globally unique</field>
<field name = "value" type = "longstr">Tuple value, as printable string</field>
<field name = "ttl" type = "number" size = "4">Time to live, msecs</field>
</message>
<message name = "ping">
Client signals liveness
</message>
<message name = "pong">
Server responds to ping; note that pongs are not correlated with pings,
and may be mixed with other commands, and the client should treat any
incoming traffic as valid activity.
</message>
<message name = "invalid">
Server rejects command as invalid
</message>
</class>