+/**
+ * Try to asynchronously get a new message from given mailbox. Return null if none available.
+ */
+Message* Node::receive(simgrid::s4u::Mailbox* mailbox)
+{
+ if (receive_comm == nullptr)
+ receive_comm = mailbox->get_async<kademlia::Message>(&received_msg);
+ if (not receive_comm->test())
+ return nullptr;
+ receive_comm = nullptr;
+ return received_msg;
+}
+