Blame view

PROTOCOL 1.8 KB
redmine authored
1 2 3 4 5 6 7
Unfortunetaly, on L2 all messages are sending to all members of the cluster.

unicast:	dst_node_id == node_id
broadcast:	dst_node_id == NOID

session example of two nodes (A and B):

redmine authored
8
"A" appears (getting node_id):
redmine authored
9

redmine authored
10
A -> hello	(serial: 0;	src: NOID	; dst: NOID;	name: A)		| cluster_init()
redmine authored
11 12 13 14 15 16
A -> register	(serial: 1;	src: 0		; dst: NOID;	name: A)		|

Trying to sync with somebody:

A -> updtree	(serial: 2;	src: 0		; dst: NOID;	[A modtree])

redmine authored
17
"B" appears (getting node_id):
redmine authored
18

redmine authored
19 20
B -> hello	(serial: 0;	src: NOID	; dst: NOID;	name: B)		| cluster_init()
A -> welcome	(serial: 3;	src: 0		; dst: NOID;	my_name: A; to_name: B)
redmine authored
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
B -> register	(serial: 1;	src: 1		: dst: NOID;	name: B)		|
A -> ack	(serial: 4;	src: 0		; dst: 1;	ack_serial: 1)

Initial syncing A <-> B:

B -> updtree	(serial: 2;	src: 1		; dst: NOID;	[B modtree])
A -> updtree	(serial: 5;	src: 0		; dst: NOID;	[A modtree])
A -> lock	(serial: 6:	src: 0		; dst: NOID;	[paths list])
B -> ack	(serial: 2;	src: 1		; dst: 0;	ack_serial: 6)
B -> lock	(serial: 3:	src: 1		; dst: NOID;	[paths list])
A -> ack	(serial: 7;	src: 0		; dst: 1;	ack_serial: 3)
A -> unlockall	(serial: 8:	src: 0		; dst: NOID)
B -> ack	(serial: 4;	src: 1		; dst: 0;	ack_serial: 8)
B -> unlockall	(serial: 5:	src: 1		; dst: NOID)
A -> ack	(serial: 9;	src: 0		; dst: 1;	ack_serial: 5)
redmine authored
36

redmine authored
37
Just syncing A -> B:
redmine authored
38

redmine authored
39 40 41 42
A -> lock	(serial: 10:	src: 0		; dst: NOID;	[paths list])
B -> ack	(serial: 6;	src: 1		; dst: 0;	ack_serial: 10)
A -> unlockall	(serial: 11:	src: 0		; dst: NOID)
B -> ack	(serial: 7;	src: 1		; dst: 0;	ack_serial: 11)
redmine authored
43

redmine authored
44 45
"A" disappers (shutdown)
"A" appears (registering with old node_id)
redmine authored
46

redmine authored
47 48
A -> hello	(serial: 0;	src: NOID	; dst: NOID;	name: A)
B -> welcome	(serial: 4;	src: 1		; dst: 0;	my_name: B; to_name: A)
redmine authored
49 50 51 52 53
A -> register	(serial: 1;	src: 0		; dst: NOID;	name: A)
B -> ack	(serial: 5;	src: 1		; dst: 0;	ack_serial: 1)

[...]