Skip to content
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 := [];
};