module arch.node.engines.net_registry_messages; import arch.node.types.transport open; import arch.node.types.basics open; import arch.node.types.identities open; type NodeAdvert := mkNodeAdvert@{ id : NodeID; addrs : List TransportAddress; version : Nat; created : AbsTime; sig : Commitment; }; type TopicAdvert := mkTopicAdvert@{ id : TopicID; relays : List NodeID; tags : List String; version : Nat; created : AbsTime; sig : Commitment; }; GetNodeAdvertReplyOk : Type := NodeAdvert; type GetNodeAdvertReplyError := | GetNodeAdvertReplyErrorNotFound; GetNodeAdvertReply : Type := Result GetNodeAdvertReplyError GetNodeAdvertReplyOk; GetTopicAdvertReplyOk : Type := TopicAdvert; type GetTopicAdvertReplyError := | GetTopicAdvertReplyErrorNotFound; GetTopicAdvertReply : Type := Result GetTopicAdvertReplyError GetTopicAdvertReplyOk; type NetworkRegistryMsg := | NetworkRegistryMsgNodeAdvert NodeAdvert | NetworkRegistryMsgTopicAdvert TopicAdvert | NetworkRegistryMsgGetNodeAdvertRequest NodeID | NetworkRegistryMsgGetNodeAdvertReply GetNodeAdvertReply | NetworkRegistryMsgGetTopicAdvertRequest TopicID | NetworkRegistryMsgGetTopicAdvertReply GetTopicAdvertReply;