Skip to content
Juvix imports

module arch.node.types.anoma_message;

import prelude open;
import arch.node.engines.identity_management_messages open;
import arch.node.engines.decryption_messages open;
import arch.node.engines.encryption_messages open;
import arch.node.engines.commitment_messages open;
import arch.node.engines.verification_messages open;
import arch.node.engines.reads_for_messages open;
import arch.node.engines.signs_for_messages open;
import arch.node.engines.naming_messages open;
import arch.node.engines.local_key_value_storage_messages open;
import arch.node.engines.logging_messages open;
import arch.node.engines.wall_clock_messages open;
import arch.node.engines.local_time_series_storage_messages open;
import arch.node.engines.net_registry_messages open;
import arch.node.engines.router_messages open;
import arch.node.engines.transport_protocol_messages open;
import arch.node.engines.transport_connection_messages open;
import arch.node.engines.pub_sub_topic_messages open;
import arch.node.engines.storage_messages open;
import arch.node.engines.mempool_worker_messages open;
import arch.node.engines.executor_messages open;
import arch.node.engines.shard_messages open;
import arch.node.engines.ticker_messages open;
import tutorial.engines.template_messages open;
import tutorial.engines.template_minimum_messages open;

Anoma MessageΒΆ

The Anoma message type contains all admissible messages that can be sent between nodes in the network. An Anoma message is of the type Msg. Each constructor of the type Msg corresponds to a specific type of message comming from a specific engine. For example, the engine TickerEngine has a corresponding message type TickerMsg.

type PreMsg KVSKey KVSDatum Executable :=
| MsgIdentityManagement IdentityManagementMsg
| MsgDecryption DecryptionMsg
| MsgEncryption EncryptionMsg
| MsgCommitment CommitmentMsg
| MsgVerification VerificationMsg
| MsgReadsFor ReadsForMsg
| MsgSignsFor SignsForMsg
| MsgNaming NamingMsg
| MsgLocalKVStorage LocalKVStorageMsg
| MsgLogging LoggingMsg
| MsgWallClock WallClockMsg
| MsgLocalTSStorage LocalTSStorageMsg
| MsgRouter (RouterMsg (PreMsg KVSKey KVSDatum Executable))
| MsgTransportProtocol TransportProtocolMsg
| MsgTransportConnection TransportConnectionMsg
| MsgPubSubTopic PubSubTopicMsg
| MsgStorage StorageMsg
| MsgMempoolWorker (MempoolWorkerMsg KVSKey Executable)
| MsgExecutor (ExecutorMsg KVSKey KVSDatum)
| MsgShard (ShardMsg KVSKey KVSDatum)
| MsgTicker TickerMsg
| MsgTemplate TemplateMsg
| MsgTemplateMinimum TemplateMinimumMsg;

Msg : Type := PreMsg String String ByteString;