org.javagroups.protocols
Class UDP
java.lang.Object
|
+--org.javagroups.stack.Protocol
|
+--org.javagroups.protocols.UDP
- All Implemented Interfaces:
- java.lang.Runnable
- public class UDP
- extends Protocol
- implements java.lang.Runnable
IP multicast transport based on UDP. Messages to the group (msg.dest == null) will be multicast
(to all group members), whereas point-to-point messages (msg.dest != null) will be unicast
to a single member. Uses a multicast and a unicast socket.
The following properties are being read by the UDP protocol
param mcast_addr - the multicast address to use default is 224.0.0.200
param mcast_port - (int) the port that the multicast is sent on default is 7500
param ip_mcast - (boolean) flag whether to use IP multicast - default is true
param ip_ttl - Set the default time-to-live for multicast packets sent out on this socket. default is 32
param use_packet_handler - If set, the mcast and ucast receiver threads just put the datagram's payload (a byte buffer)
into a queue, from where a separate thread will dequeue and handle them (unmarshal and pass up). This frees the receiver
threads from having to do message unmarshalling; this time can now be spent receiving packets. If you have lots of
retransmissions because of network input buffer overflow, consider setting this property to true (default is false).
- Author:
- Bela Ban
Fields inherited from class org.javagroups.stack.Protocol |
down_handler, down_prot, down_queue, down_thread, observer, props, stack, up_handler, up_prot, up_queue, up_thread |
Constructor Summary |
UDP()
public constructor. |
Method Summary |
void |
down(Event evt)
Caller by the layer above this layer. |
java.lang.String |
getName()
|
void |
init()
Called after instance has been created (null constructor) and before protocol is started |
void |
run()
|
boolean |
setProperties(java.util.Properties props)
Setup the Protocol instance acording to the configuration string
The following properties are being read by the UDP protocol
param mcast_addr - the multicast address to use default is 224.0.0.200
param mcast_port - (int) the port that the multicast is sent on default is 7500
param ip_mcast - (boolean) flag whether to use IP multicast - default is true
param ip_ttl - Set the default time-to-live for multicast packets sent out on this socket. |
void |
startUpHandler()
DON'T REMOVE ! This prevents the up-handler thread to be created, which essentially is superfluous:
messages are received from the network rather than from a layer below. |
java.lang.String |
toString()
debug only |
void |
up(Event evt)
handle the UP event. |
Methods inherited from class org.javagroups.stack.Protocol |
getDownProtocol, getDownQueue, getProperties, getUpProtocol, getUpQueue, passDown, passUp, providedDownServices, providedUpServices, receiveDownEvent, receiveUpEvent, requiredDownServices, requiredUpServices, setDownProtocol, setObserver, setPropertiesInternal, setProtocolStack, setUpProtocol, startDownHandler, stopInternal |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
UDP
public UDP()
- public constructor. creates the UDP protocol, and initializes the
state variables, does however not start any sockets or threads
toString
public java.lang.String toString()
- debug only
- Overrides:
toString
in class java.lang.Object
run
public void run()
- Specified by:
run
in interface java.lang.Runnable
getName
public java.lang.String getName()
- Overrides:
getName
in class Protocol
init
public void init()
throws java.lang.Exception
- Description copied from class:
Protocol
- Called after instance has been created (null constructor) and before protocol is started
- Overrides:
init
in class Protocol
setProperties
public boolean setProperties(java.util.Properties props)
- Setup the Protocol instance acording to the configuration string
The following properties are being read by the UDP protocol
param mcast_addr - the multicast address to use default is 224.0.0.200
param mcast_port - (int) the port that the multicast is sent on default is 7500
param ip_mcast - (boolean) flag whether to use IP multicast - default is true
param ip_ttl - Set the default time-to-live for multicast packets sent out on this socket. default is 32
- Overrides:
setProperties
in class Protocol
- Returns:
- true if no other properties are left.
false if the properties still have data in them, ie ,
properties are left over and not handled by the protocol stack
startUpHandler
public void startUpHandler()
- DON'T REMOVE ! This prevents the up-handler thread to be created, which essentially is superfluous:
messages are received from the network rather than from a layer below.
- Overrides:
startUpHandler
in class Protocol
up
public void up(Event evt)
- handle the UP event.
the only event checked for is Event.START which will start this protocol
this method will take the START event and perform the following action
1. pass up the start event through out the stack
2. create all the sockets and initlize the listener threads
3. pass up a Event.SET_LOCAL_ADDRESS event
4. pass up a Event.START_OK event
- Overrides:
up
in class Protocol
- Parameters:
evt
- - the event being send from the stack
down
public void down(Event evt)
- Caller by the layer above this layer. Usually we just put this Message
into the send queue and let one or more worker threads handle it. A worker thread
then removes the Message from the send queue, performs a conversion and adds the
modified Message to the send queue of the layer below it, by calling Down).
- Overrides:
down
in class Protocol
Copyright © 2001,2002 www.javagroups.com . All Rights Reserved.