-- Transport Mechanism Registration Server:  cache for name lookup

-- [Juniper]<Grapevine>MS>RegCacheDefs.mesa

-- Andrew Birrell  25-Jun-81 10:59:14

DIRECTORY
  BodyDefs USING [Connect, RName, Timestamp],
  ObjectDirDefs USING [ObjectNumber],
  ProtocolDefs USING [RNameType],
  RegBTreeDefs USING [RegState];

RegCacheDefs: DEFINITIONS =

  BEGIN

  AddName: PROC [
    name: BodyDefs.RName, knownReg: BOOLEAN, type: ProtocolDefs.RNameType,
    stamp: BodyDefs.Timestamp, obj: ObjectDirDefs.ObjectNumber];

  ReadName: PROC [name: BodyDefs.RName]
    RETURNS [
      type: ProtocolDefs.RNameType, stamp: BodyDefs.Timestamp,
      obj: ObjectDirDefs.ObjectNumber];

  FlushName: PROC [BodyDefs.RName];

  TestKnownReg: PROC [name: BodyDefs.RName]
    RETURNS [state: RegBTreeDefs.RegState];
  -- returns "bad" if not in cache --

  AddConnect: PROC [
    name: BodyDefs.RName, stamp: BodyDefs.Timestamp, connect: BodyDefs.Connect];

  ReadConnect: PROC [name: BodyDefs.RName, connect: BodyDefs.Connect]
    RETURNS [found: BOOLEAN];

  END.