-- UnpackedCommunication.config
-- last edited by: Andrew Birrell on: May 9, 1983 4:09 pm
-- last edited by: BLyon on: March 16, 1981  5:31 PM
-- last edited by: HGM on: March 14, 1981  6:29 PM
-- Last Edited by: Levin, June 15, 1983 11:04 am

PACK -- Communication
  EthernetDriver,
  EthernetOneDriver, DispatcherImpl,
  --PhoneNetworkDriver, PhoneNetworkImpl, HalfDuplexImpl,--
  RouterImpl, RoutingTableImpl, SocketImpl, ChecksumsImpl,
  PacketExchangeImpl, EchoServerImpl,
  --NetworkStreamMgr, NetworkStreamInstance,--
  PacketStreamMgr, PacketStreamInstance,
  CommunicationControl, PilotCommUtil, PilotCommUtilPup, Boss, StatsHot, BufferMgr;

Communication: CONFIGURATION LINKS: CODE
  IMPORTS
    CommUtilDefs, EthernetFace, EthernetOneFace,
    GermSwap, LoadState, PrincOpsUtils, Process, ProcessorFace, StatsDefs, VM
    --RPC--, RPCPrivate
  EXPORTS ALL 
  CONTROL CommunicationControl =
BEGIN

  Level0: CONFIGURATION
    IMPORTS
      BufferDefs, CommUtilDefs, DriverDefs, EthernetFace, EthernetOneFace,
      GermSwap, LoadState, PrincOpsUtils, Process, ProcessorFace, StatsDefs
      --RPC--, RPCPrivate
    EXPORTS ALL
    CONTROL DispatcherImpl =
      BEGIN
      EthernetDriver;  --  not STARTED ? (CreateDefaultEthernetDrivers from Boss)
      DispatcherImpl;  -- STARTED by Boss.MainlineCode
      -- Follow four need frame links because they have imports that come into .boot files.
      EthernetOneDriver LINKS: FRAME;  --  not STARTED ? (CreateDefaultEthernetOneDrivers from Boss)
      --PhoneNetworkDriver LINKS: FRAME;-- -- not STARTED
      --PhoneNetworkImpl LINKS: FRAME;-- -- not STARTED
      --HalfDuplexImpl LINKS: FRAME;-- -- not STARTED
      END;

  Level1: CONFIGURATION
    IMPORTS
      BufferDefs, CommUtilDefs, DriverDefs,
      OISCP, PrincOpsUtils, Process, ProcessorFace, StatsDefs
    EXPORTS ALL 
    CONTROL ChecksumsImpl =
      BEGIN
      RouterImpl;  -- STARTED by CommunicationControl.InitializeCommunication
      RoutingTableImpl;  -- STARTED by CommunicationControl.InitializeCommunication
      SocketImpl;  -- STARTED by CommunicationControl.InitializeCommunication
      ChecksumsImpl;  -- STARTED by CommunicationControl.InitializeCommunication
      END;

  Level2: CONFIGURATION
    IMPORTS BufferDefs, DriverDefs, LoadState, OISCP, PrincOpsUtils, Process, ProcessorFace,
     Router, Socket, SocketInternal, StatsDefs
    EXPORTS ALL 
    CONTROL PacketExchangeImpl =
      BEGIN
      PacketExchangeImpl;  -- STARTED by CommunicationControl.InitializeCommunication
      EchoServerImpl;  -- STARTED by CommunicationControl.InitializeCommunication
      --NetworkStreamMgr;--  -- STARTED by CommunicationControl.InitializeCommunication
      --NetworkStreamInstance;--  -- multiple instances STARTED by NetworkStreamMgr
      --NOTE: If you un-comment these, do the same to the START in CommunicationControl
      PacketStreamMgr;  -- STARTED by CommunicationControl.InitializeCommunication
      PacketStreamInstance;  -- multiple instances STARTED by PacketStreamMgr
      END;

CommunicationControl;  -- STARTED by PilotControl
PilotCommUtil;  -- STARTED by CommunicationControl.InitializeCommunication
PilotCommUtilPup;  -- STARTED by START trap
Boss;  -- STARTED by CommunicationControl.InitializeCommunication
StatsHot;  -- STARTED by CommunicationControl.InitializeCommunication
BufferMgr;  -- STARTED by Boss.MainlineCode;
Level0;
Level1;
Level2;

END.