Juvix imports
module arch.node.net.pub_sub_topic_environment;
import arch.node.net.pub_sub_topic_messages open;
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;
Pub/Sub Topic Environment¶
Overview¶
The Engine environment of the engine.
Mailbox state¶
PubSubTopicMailboxState¶
PubSubTopicMailboxState : Type := Unit;
Local state¶
PubSubTopicLocalState¶
type PubSubTopicLocalState := mkPubSubTopicLocalState;
Timer handles¶
PubSubTopicTimerHandle¶
PubSubTopicTimerHandle : Type := Unit;
PubSubTopicTimestampedTrigger¶
PubSubTopicTimestampedTrigger : Type :=
  TimestampedTrigger PubSubTopicTimerHandle Anoma.Msg;
Engine Environment¶
PubSubTopicEnv¶
PubSubTopicEnv : Type :=
  EngineEnv
    PubSubTopicLocalState
    PubSubTopicMailboxState
    PubSubTopicTimerHandle
    Anoma.Msg;
Instantiation¶
exPubSubTopicEnv : PubSubTopicEnv :=
  mkEngineEnv@{
    localState := mkPubSubTopicLocalState;
    mailboxCluster := Map.empty;
    acquaintances := Set.empty;
    timers := [];
  };