package derms.net.tomulticast; import derms.net.rmulticast.MessagePayload; import derms.net.rmulticast.ReliableMulticast; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.util.logging.Logger; /** *
A single-sender, multiple-receiver multicast group that enforces a total order on * received messages. If a process delivers message A before message B, * then all other processes will deliver A and B in the same order * (A before B).
* *Additionally, the protocol guarantees reliable delivery of messages. If the sender * crashes while sending a message, either all processes will receive the message, or * none of them will.
* *Only one sender is allowed per multicast group, but a group may have multiple * receivers. Use {@link derms.net.tomulticast.TotalOrderMulticastSender} to send * messages, and {@link derms.net.tomulticast.TotalOrderMulticastReceiver} to receive * them.
*/ public abstract class TotalOrderMulticast