From 43549dee0a8214c1bb02c874dcfd7ba37a8ef310 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Fri, 22 Nov 2024 12:02:08 -0500 Subject: ReliableUnicastSender --- src/main/java/derms/net/runicast/Message.java | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/java/derms/net/runicast/Message.java (limited to 'src/main/java/derms/net/runicast/Message.java') diff --git a/src/main/java/derms/net/runicast/Message.java b/src/main/java/derms/net/runicast/Message.java new file mode 100644 index 0000000..802cdb5 --- /dev/null +++ b/src/main/java/derms/net/runicast/Message.java @@ -0,0 +1,33 @@ +package derms.net.runicast; + +import derms.net.MessagePayload; + +import java.io.Serializable; + +class Message implements Serializable { + final long seq; // Sequence number. + final T payload; + + Message(long seq, T payload) { + this.seq = seq; + this.payload = payload; + } + + @Override + public int hashCode() { return (int) seq * payload.hash(); } + + @Override + public boolean equals(Object obj) { + if (obj == null) + return false; + if (obj.getClass() != this.getClass()) + return false; + Message other = (Message) obj; + if (other.payload.getClass() != this.payload.getClass()) + return false; + return other.seq == this.seq && other.payload.equals(this.payload); + } + + @Override + public String toString() { return getClass().getSimpleName() + "{" + seq + ", " + payload + "}"; } +} -- cgit v1.2.3