org.lateralnz.messaging.broadcast
Class BroadcastMessageHandler

java.lang.Object
  extended by org.lateralnz.messaging.AbstractMessageHandler
      extended by org.lateralnz.messaging.broadcast.BroadcastMessageHandler
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable, Constants, MessageHandler
Direct Known Subclasses:
MulticastMessageHandler

public class BroadcastMessageHandler
extends AbstractMessageHandler
implements java.lang.Runnable, MessageHandler, Constants, java.io.Serializable

a messaging service that uses IP multicast to transmit messages

See Also:
Serialized Form

Field Summary
protected  java.lang.Thread listenerThread
           
protected  java.net.DatagramSocket sock
           
 
Fields inherited from class org.lateralnz.messaging.AbstractMessageHandler
addr, listeners, port
 
Fields inherited from interface org.lateralnz.common.util.Constants
AMPERSAND, AND, APPLICATION_X_WWW_FORM_URLENCODED, ASTERISK, AT, BACK_SLASH, CHAR_LEFT_CHEV, CHAR_RIGHT_CHEV, COLON, COMMA, CRLF, DASH, DELETE, DOLLAR, DOT, DOT_CLASS, DOT_JAVA, EIGHT, EMPTY, EQUALS, FALSE, FILE_SEPARATOR, FIVE, FORWARD_SLASH, FOUR, FULLSTOP, HASH, HAT, INSERT, LEFT_BRACE, LEFT_BRACKET, LEFT_CHEV, MAX_LEN_APPCODE, MAX_LEN_APPGROUP, MAX_LEN_MSGCODE, MAX_LEN_MSGTEXT, MINUS_ONE, N, NEWLINE, NINE, NO, NULL_STRING, OFF, ON, ONE, ONE_DAY, ONE_HOUR, ONE_MINUTE, ONE_WEEK, PATH_SEPARATOR, PERCENT, PIPE, PLUS, QUESTION_MARK, QUOTE, REQUIRED, REQUIRES_NEW, RETURN, RIGHT_BRACE, RIGHT_BRACKET, RIGHT_CHEV, SELECT, SEMICOLON, SEVEN, SINGLE_QUOTE, SIX, SPACE, SQ_LEFT_BRACKET, SQ_RIGHT_BRACKET, SUPPORTS, TEXT_HTML, TEXT_PLAIN, TEXT_XML, THREE, TRUE, TWO, UNDERSCORE, UPDATE, UTF_8, Y, YES, ZERO
 
Constructor Summary
protected BroadcastMessageHandler(java.lang.String ipaddress, int port)
           
protected BroadcastMessageHandler(java.lang.String ipaddress, int port, java.net.DatagramSocket sock)
           
protected BroadcastMessageHandler(java.lang.String ipaddress, int port, java.net.DatagramSocket sock, boolean start)
           
 
Method Summary
 void run()
          packets are received during the run loop
 void send(Message msg)
          send a message (serialized, fragmented if necessary, then broadcast)
 
Methods inherited from class org.lateralnz.messaging.AbstractMessageHandler
addListener, notifyListeners, setAddress, setAllowedGroupRegex, setDisallowedGroupRegex, willTransmit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.lateralnz.messaging.MessageHandler
addListener, setAllowedGroupRegex, setDisallowedGroupRegex, willTransmit
 

Field Detail

sock

protected java.net.DatagramSocket sock

listenerThread

protected java.lang.Thread listenerThread
Constructor Detail

BroadcastMessageHandler

protected BroadcastMessageHandler(java.lang.String ipaddress,
                                  int port)
                           throws java.lang.Exception
Throws:
java.lang.Exception

BroadcastMessageHandler

protected BroadcastMessageHandler(java.lang.String ipaddress,
                                  int port,
                                  java.net.DatagramSocket sock)
                           throws java.lang.Exception
Throws:
java.lang.Exception

BroadcastMessageHandler

protected BroadcastMessageHandler(java.lang.String ipaddress,
                                  int port,
                                  java.net.DatagramSocket sock,
                                  boolean start)
                           throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

run

public void run()
packets are received during the run loop

Specified by:
run in interface java.lang.Runnable

send

public void send(Message msg)
          throws java.io.IOException
send a message (serialized, fragmented if necessary, then broadcast)

Specified by:
send in interface MessageHandler
Parameters:
msg - the message object to send
Throws:
java.io.IOException