![]() ![]() ![]() ![]() ![]() Next: Communication with TACO Up: The Implementation Previous: Fault-Tolerance   Contents   Index |
pmessage
defined as:
typedef struct pmessage_struct { int status; /* status */ int request; /* request or reply */ long t; /* time */ long ret; /* readlock expiration time */ long wet; /* writelock expiration time */ long ct; /* consistency time */ long cct; /* consistency check time */ long mt; /* modification time */ long crt; /* client receive time */ char name[PATHNAME_MAX]; /* filename */ } pmessage; pmessage buf;
The server knows (handles) the following requests in buf.request
:
READ_ OPEN, WRITE_OPEN, SEND_FILE,
RECV_FILE, READ_LOCK, WRITE_LOCK,
READ_ UNLOCK, WRITE_UNLOCK, TELL_TIME,
REMOVE_FILE, RENAME_FILE,
READ_CLOSE, WRITE_CLOSE, and SEND_STAT defined in
"pesto.h"
.
For all the above requests, the server replies with a status in
buf.status
of NOT_OK if something went wrong or OK
otherwise. If the status is OK then the reply is found in
buf.request
and will be one of the following: CONSISTENT,
INCONSISTENT, NOTFOUND, NOTLOCKED, ISLOCKED,
ISUNLOCKED, WASLOCKED, WASUNLOCKED,
WASREMOVED, WASRENAMED, DOSEND, WILLSEND, or
WASFOUND defined in "pesto.h"
.
Each request is answered with a reply. If the reply is DOSEND or WILLSEND then a file is subsequentially send from the client to the server or vice versa.