-- TransactionImpls.config
-- Last edited by
--   MBrown on January 30, 1984 3:40:15 pm PST

TransactionImpls: CONFIG
  IMPORTS
    -- Alpine
    AccessControl, AlpineIdentity, AlpineImport, AlpineTransaction, AlpineZones,
    ClientMap, ConversationTable,
    FileControl, FilePageMgr, Lock, LockControl, Log, LogControl,
    -- Cedar
    BasicTime, ConvertUnsafe, Process, Rope, RPC, RuntimeError, SafeStorage
  EXPORTS
    ALL
  CONTROL
    CoordinatorImpl,
    CoordinatorRemoteCallsImpl,
    CoordinatorTransIDImpl,
    CoordinatorMapImpl,
    WorkerImpl,
    WorkerMapImpl,
    WorkerLogWatchdogImpl
  = BEGIN
  -- The comment below a module name lists the state kept in it, and any
  --special initialization requirements.

  CoordinatorImpl;
    -- a condition variable; a ZONE.
  CoordinatorRemoteCallsImpl;
    -- module monitor; state of process pool: two condition variables, a parameter buffer.
  CoordinatorTransIDImpl;
    -- module monitor; state of next trans ID generator: sequence number, etc.
    -- Must be informed of transaction IDs seen during analysis pass, then explicitly
    --initialized after analysis pass.
  CoordinatorMapImpl;
    -- module monitor; hash array.
    -- Must be explicitly initialized (to set size) before analysis pass.

  WorkerImpl;
    -- a condition variable; a ZONE.
  WorkerMapImpl;
    -- module monitor; hash array.
    -- Must be explicitly initialized (to set size) before analysis pass.
  WorkerLogWatchdogImpl;
    -- module monitor; a condition variable, a flag indicating the existence of a process.

  END.