4 #include <swarmio/data/Message.pb.h> 45 virtual void RegisterMailbox(
Mailbox* mailbox) = 0;
54 virtual void UnregisterMailbox(
Mailbox* mailbox)= 0;
63 virtual void ReplaceMailbox(
Mailbox* oldMailbox,
Mailbox* newMailbox) = 0;
72 virtual void Start() = 0;
81 virtual void Stop() = 0;
90 virtual void Tag(data::Message*
message) = 0;
102 virtual void Send(data::Message*
message,
const Node* node) = 0;
110 virtual const Node* NodeForUUID(
const std::string& uuid) = 0;
117 virtual const std::string& GetUUID() = 0;
virtual ~Endpoint()
Destroy the Endpoint object.
friend Mailbox
Allow Mailboxes to register themselves.
Abstract base class for Endpoint implementations.
Represents a Node the Endpoint knows about and can send messages to.
Abstract base class for Mailbox implementations.