-- File: NuthatchLog.mesa
-- the routines that access the user's nuthatch log.
-- Last Edited by: Lia, September 30, 1983 11:47 am
Last Edited by: Swinehart, January 3, 1984 5:25 pm
DIRECTORY
Nuthatch USING [NuthatchUserHandle],
Rope USING [ROPE];
NuthatchLog: CEDAR DEFINITIONS = {
Handle: TYPE = Nuthatch.NuthatchUserHandle;
InitializeLog:
PROC [handle: Handle];
Must already contain user name or NIL -- sets userName, logFileName
WriteLogEntry:
PROC [logRope: Rope.
ROPE, handle: Handle];
Waits for no readers.
Raises Error[failed]; retries aborted transactions internally
SetLogIndex:
PROC [handle: Handle];
Raises Error[failed]; retries aborted transactions internally
ReadLogEntry:
PROC[handle:Handle]
RETURNS[logEntryRope: Rope.ROPE, endOfLog: BOOL];
Raises Error.
UpdateLogIndex:
PROC[handle:Handle];
Brings logReadPoint up to date. Raises Error.
Raises Error.
Error: ERROR[code: ErrorCode];
ErrorCode: TYPE = { aborted, failed };
}.