module arch.node.net.router_messages; import arch.node.net.router_types open; import arch.node.net.transport_types open; import arch.node.net.node_proxy_messages open; import arch.node.net.pub_sub_topic_messages open; import arch.node.types.basics open; import arch.node.types.identities open; import arch.node.types.messages open; type NodeConnectRequest := mkNodeConnectRequest@{ node_id : NodeID; permanent : Bool; }; type NodeConnectReplyOk : Type := mkExampleReplyOk@{ argOne : Nat; }; type NodeConnectReplyError : Type := | NodeConnectReplyErrorUnknown | NodeConnectReplyErrorDenied; NodeConnectReply : Type := Result NodeConnectReplyError NodeConnectReplyOk; type RouterSub := mkRouterSub@{ topic_id : TopicID; }; type RouterTopicUnsub := mkRouterTopicsub@{ topic_id : TopicID; }; type RouterMsg M := | RouterMsgNodeSend (NodeOutMsg M) | RouterMsgTopicForward TopicMsg | RouterMsgNodeConnectRequest NodeConnectRequest | RouterMsgNodeAdvert NodeAdvert | RouterMsgTopicAdvert TopicAdvert;