<> <> <> <> <> <> <> <> <> DIRECTORY Basics, YggCoordinator, YggEnvironment, YggInternal; YggLog: CEDAR DEFINITIONS = BEGIN Comparison: TYPE = Basics.Comparison; logDeviceCharacteristics: YggEnvironment.DeviceCharacteristics; wordsPerPage: CARD; -- words in a Log page RecordType: TYPE = YggInternal.LogRecordType; <> RecordID: TYPE = YggInternal.LogRecordID; <> nullRecordID: RecordID = YggInternal.nullLogRecordID; <> firstRecordID: RecordID = YggInternal.firstRecordID; <> lastRecordID: RecordID = YggInternal.lastRecordID; <> LogRecordPhaseType: TYPE = YggInternal.LogRecordPhaseType; <> <<>> Block: TYPE = RECORD [ base: LONG POINTER, length: CARD, rest: BlockPtr _ NIL ]; BlockPtr: TYPE = LONG POINTER TO Block; nullBlock: Block = [base: NIL, length: 0, rest: NIL]; <> RecoveryProc: TYPE = PROC [ record: RecordID, type: RecordType, trans: YggInternal.TransHandle, outcome: TransState]; <> <> <> TransState: TYPE = YggInternal.TransState; <<{committed, aborted, ready}>> RegisterRecoveryProc: PROC [recordType: RecordType, recoveryProc: RecoveryProc]; <> <> <> <> <> ReadForRecovery: ReadProc; <> <> <<>> <> <> Write: PROC [trans: YggInternal.TransHandle, logRecordPhaseType: LogRecordPhaseType, recordType: RecordType, recordData: Block, force: BOOL _ FALSE] RETURNS [thisRecord, followingRecord: RecordID]; <> CoordinatorWrite: PROC [ trans: YggCoordinator.Handle, recordType: RecordType, recordData: Block, force: BOOL _ FALSE] RETURNS [thisRecord, followingRecord: RecordID]; <> WriteFailed: ERROR; Force: PROC [followingRecord: RecordID]; <> <> ReadProc: TYPE = PROC [thisRecord: RecordID, wordsToSkip: CARDINAL _ 0, to: Block] RETURNS [status: ReadProcStatus, wordsRead: CARDINAL]; ReadProcStatus: TYPE = {normal, destinationFull, sourceExhausted}; <> <> Read: ReadProc; <> <> <> END. CHANGE LOG Created by MBrown on 2-Dec-81 Changed by MBrown on 16-Dec-81 15:06:20 <> Changed by MBrown on 1-Feb-82 15:10:32 <> <> Changed by MBrown on 2-Feb-82 11:09:06 <> Changed by MBrown on June 23, 1982 4:16 pm <> Changed by MBrown on September 14, 1982 12:34 pm <> Changed by MBrown on September 15, 1982 8:39 pm <> <<(still in LogBasic).>> Changed by MBrown on October 2, 1982 8:25 pm <> Changed by MBrown on October 3, 1982 10:42 pm < LogFull (all other errors are really caller programming errors).>> < status: ReadProcStatus.>> Changed by MBrown on October 7, 1982 5:09 pm <> Changed by MBrown on October 11, 1982 3:21 pm <> Changed by MBrown on November 3, 1982 11:59 am <> Changed by MBrown on January 30, 1984 10:10:13 am PST < Basics for Cedar 5.0.>> <> <> <<>>