Then `SendDisjointMessages` calls `SendMessageFromQueue` to transmit the messages from the generated message list. When a node receives a packet, `RouteInput` determines the interface, buffer, or function to execute. `RouteInput` handles the logic for buffering incomplete messages and acknowledging messages described in Section \[sec:MessageGeneration\]. `RouteOutput` handles packets leaving a node.

Message Generation and Handling {#sec:MessageGeneration}
===============================

The and handle node data differently. This section discusses how and the implement message handling and generation. The discussion includes the differences between the PacketEpidemic implementation and our Epidemic implementation to handle messages, and application-layer message-traffic generation.

 Behavior
---------

In the , traffic generation uses messages. The does not have packets like networks, so the does not have packet header definitions. Messages are similar to bundles from the Bundling Protocol [@rfc5050] because messages are the base unit of data. Unlike packets, messages can be any size. The handles messages as a single object. The does not fragment messages, and the does not permit partial messages to propagate throughout the network. If a node does not completely receive a message, then the node drops the partially received message. In the , messages do not carry control instructions, and nodes share control information by directly accessing another 