From 5ce261a585a6e77a71cd9f87e9f0ab6b88644a75 Mon Sep 17 00:00:00 2001 From: mquinson Date: Tue, 2 Nov 2004 22:24:26 +0000 Subject: [PATCH] Proposition of protocol reorganisation to handle RPC more cleanly git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@476 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- SPEC | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 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 + -- 2.20.1