X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/188feea2cf5d0362ee0863cd59f5738b07da2aae..5ce261a585a6e77a71cd9f87e9f0ab6b88644a75:/SPEC diff --git a/SPEC b/SPEC new file mode 100644 index 0000000000..7b7c169868 --- /dev/null +++ b/SPEC @@ -0,0 +1,31 @@ +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: reserved. + +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 +