Blackboard communication protocol

Direction --->> means a transmission from the client to a server. Direction <<--- means messages which are sent from the server to a client. The messages are:

Command Direction Description
c
--->>
Create component message
d
<<---
Create reply
s
--->>
Subscribe message
z
--->>
Unsubscribe message
p
--->>
Push data message
u
<<---
Update client message
r
--->>
Request data message
l
--->>
List components message
m
<<---
Component list message
a
<<---
ACK / Error message
x
--->>
Delete component message
k
--->>
Command message

Create component message - C

1
4
4
4
n
CMD
TYPE ID
USER ID
USER NAME LENGTH
USER NAME

Create response - d

1
4
4
4
CMD
TYPE ID
USER ID
COMPONENT ID

Subscribe message - s

1
4
4
4
CMD
TYPE ID
USER ID
COMPONENT ID

Unsubscribe message - z

1
4
4
4
CMD
TYPE ID
USER ID
COMPONENT ID

Push data - p

1
4
4
n
CMD
COMPONENT ID
DATA LENGTH
DATA

Update client message - u

1
4
4
4
4
n
CMD
TYPE ID
USER ID
COMPONENT ID
DATA LENGTH
DATA

Request data message - r

1
4
4
4
CMD
TYPE ID
USER ID
COMPONENT ID

List components message - l

1
4
4
4
CMD
TYPE ID
USER ID
COMPONENT ID

Component list message - m

1
4
CMD
NUMBER OF COMPONENTS

The following sequense is repeated NUMBER OF COMPONENTS times in the message:

4
4
4
TYPE ID
USER ID
COMPONENT ID

ACK / Error message - a

1
1
1
4
n
CMD
ACK MESSAGE COMMAND
STATUS
MESSAGE LENGTH
MESSAGE

Delete component - x

1
4
4
4
CMD
TYPE ID
USER ID
COMPONENT ID

Command message - k

1
4
4
4
4
1
1
CMD
TYPE ID
USER ID
COMPONENT ID
SENDER CID
SIGNAL
NUMBER OF PARAMETERS

The following sequense is repeated NUMBER OF PARAMETERS times in the message:

1
n
PARAMETER LENGTH
PARAMETER DATA