Juvix imports
module arch.node.net.transport_protocol_environment;
import arch.node.types.basics open;
import arch.node.types.engine open;
import arch.node.types.messages open;
import arch.node.types.identities open;
import arch.node.types.anoma_message as Anoma open;
Transport Protocol Environment¶
Overview¶
The Engine environment of the engine.
Mailbox states¶
syntax alias TransportProtocolMailboxState := Unit;
Local state¶
type TransportProtocolLocalState := mkTransportProtocolLocalState;
Timer Handle¶
TransportProtocolTimerHandle : Type := Unit;
The TransportProtocol does not require a timer handle type.
Therefore, we define the timer handle type as Unit.
Timestamped Trigger¶
TransportProtocolTimestampedTrigger : Type :=
  TimestampedTrigger TransportProtocolTimerHandle Anoma.Msg;
The Transport Protocol Environment¶
TransportProtocolEnv¶
TransportProtocolEnv : Type :=
  EngineEnv
    TransportProtocolLocalState
    TransportProtocolMailboxState
    TransportProtocolTimerHandle
    Anoma.Msg;
Instantiation¶
exTransportProtocolEnv : TransportProtocolEnv :=
  mkEngineEnv@{
    localState := mkTransportProtocolLocalState;
    mailboxCluster := Map.empty;
    acquaintances := Set.empty;
    timers := [];
  };