diff options
Diffstat (limited to 'src/main/java/derms/replica/replica2/Announcer.java')
| -rw-r--r-- | src/main/java/derms/replica/replica2/Announcer.java | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/src/main/java/derms/replica/replica2/Announcer.java b/src/main/java/derms/replica/replica2/Announcer.java deleted file mode 100644 index 436d06d..0000000 --- a/src/main/java/derms/replica/replica2/Announcer.java +++ /dev/null @@ -1,69 +0,0 @@ -package derms.replica.replica2; - -import java.io.IOException; -import java.net.*; -import java.util.logging.Logger; - -class Announcer implements Runnable { - static final long intervalMillis = 3000; - - private SocketAddress group; - private InetAddress localAddr; - private City city; - private Logger log; - - Announcer(SocketAddress group, InetAddress localAddr, City city) throws IOException { - this.group = group; - this.localAddr = localAddr; - this.city = city; - this.log = DermsLogger.getLogger(this.getClass()); - } - - @Override - public void run() { - NetworkInterface netInterface = null; - try { - netInterface = NetworkInterface.getByInetAddress(localAddr); - if (netInterface == null) { - throw new Exception("netInterface is null"); - } - } catch (Exception e) { - log.severe("Failed to get network interface bound to "+localAddr.toString()+": "+e.getMessage()); - return; - } - - MulticastSocket sock = null; - try { - sock = new MulticastSocket(); - sock.joinGroup(group, netInterface); - } catch (Exception e) { - log.severe("Failed to open multicast socket: "+e.getMessage()); - return; - } - - log.info("Announcing from "+localAddr.toString()+" ("+netInterface.getName()+") to "+group.toString()); - - DatagramPacket pkt = null; - try { - pkt = ObjectPacket.create(city, group); - } catch (IOException e) { - log.severe("Failed to create packet: "+e.getMessage()); - sock.close(); - return; - } - - try { - for (;;) { - sock.send(pkt); - Thread.sleep(intervalMillis); - } - } catch (IOException e) { - log.severe("Failed to send to multicast socket "+group.toString()+": "+e.getMessage()); - } catch (InterruptedException e) { - log.info("Interrupted."); - } finally { - log.info("Shutting down..."); - sock.close(); - } - } -}
\ No newline at end of file |