+++ /dev/null
-Here are some elements of specification of the GRAS protocol. It is not
-supposed to have several implementations, but once version 1 will be out,
-all versions of GRAS are supposed to be able to communicate with previous
-ones.
-
-All messages have an header and a payload. Here is the header format,
-considering it as an array of chars.
-
-HEADER: Transport layer
-msg[0...3]: the string 'GRAS'
-msg[4]: protocol version (currently '0')
-
-HEADER: Messaging layer
-
-msg[5]: discriminent = Archi & msg type & Flags
- D & 248 << 3 : archi (datasize, alignment, endianess) of message emitter
- (32 possibles; 5 known so far)
- D & 7 : Type of message:
- 0: one-way message
- 1: method call (answer expected)
-
- 2: successful return (usual datatype attached as payload)
- 3: error return (payload = remoterr)
-
- 4..7: idem, with group communication (ask for forward)
- list of receivers (and path for answer) placed before the
- payload
-
-msg[6..8]: message serial (for answers; omitted for one-ways)
- short in binary encoding (loop every 65536)
-msg[9..]: message name (string in the binary encoding)
-
-PAYLOAD: in the binary encoding
-