summaryrefslogtreecommitdiffstats
path: root/src/main/java/derms/net/tomulticast
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/derms/net/tomulticast')
-rw-r--r--src/main/java/derms/net/tomulticast/TotalOrderMulticast.java8
-rw-r--r--src/main/java/derms/net/tomulticast/TotalOrderMulticastSender.java13
2 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/derms/net/tomulticast/TotalOrderMulticast.java b/src/main/java/derms/net/tomulticast/TotalOrderMulticast.java
index 0d8b690..1fb4348 100644
--- a/src/main/java/derms/net/tomulticast/TotalOrderMulticast.java
+++ b/src/main/java/derms/net/tomulticast/TotalOrderMulticast.java
@@ -6,6 +6,7 @@ import derms.net.rmulticast.ReliableMulticast;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
+import java.net.NetworkInterface;
import java.util.logging.Logger;
/**
@@ -29,6 +30,13 @@ public abstract class TotalOrderMulticast<T extends MessagePayload> {
protected Long seq; // Sequence number.
protected final Logger log;
+ protected TotalOrderMulticast(InetSocketAddress group, InetAddress laddr, NetworkInterface ifs) throws IOException {
+ this.sock = new ReliableMulticast<Message<T>>(group, laddr, ifs);
+ this.group = group;
+ this.seq = (long) 0;
+ this.log = Logger.getLogger(this.getClass().getName());
+ }
+
protected TotalOrderMulticast(InetSocketAddress group, InetAddress laddr) throws IOException {
this.sock = new ReliableMulticast<Message<T>>(group, laddr);
this.group = group;
diff --git a/src/main/java/derms/net/tomulticast/TotalOrderMulticastSender.java b/src/main/java/derms/net/tomulticast/TotalOrderMulticastSender.java
index 0de0ad0..b9ca99a 100644
--- a/src/main/java/derms/net/tomulticast/TotalOrderMulticastSender.java
+++ b/src/main/java/derms/net/tomulticast/TotalOrderMulticastSender.java
@@ -5,6 +5,7 @@ import derms.net.MessagePayload;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
+import java.net.NetworkInterface;
/**
* The single sending process in a {@link TotalOrderMulticast} group. <b>Only one sender is
@@ -16,6 +17,18 @@ public class TotalOrderMulticastSender<T extends MessagePayload> extends TotalOr
*
* @param group The IP address and port of the multicast group to join.
* @param laddr The IP address of the local process.
+ * @param ifs The network interface to use.
+ */
+ public TotalOrderMulticastSender(InetSocketAddress group, InetAddress laddr, NetworkInterface ifs) throws IOException {
+ super(group, laddr, ifs);
+ }
+
+ /**
+ * Join the specified totally-ordered multicast group as its lone sender using the
+ * default network interface of the machine.
+ *
+ * @param group The IP address and port of the multicast group to join.
+ * @param laddr The IP address of the local process.
*/
public TotalOrderMulticastSender(InetSocketAddress group, InetAddress laddr) throws IOException {
super(group, laddr);