org.jgroups.protocols

Class UDP_NIO.ConnectorTable

public static class UDP_NIO.ConnectorTable extends Object implements Receiver, Runnable

Manages a bunch of Connectors
Constructor Summary
ConnectorTable(InetSocketAddress mcast_addr, int receive_buffer_size, int receive_sock_buf_size, boolean ip_mcast, Receiver receiver)
Method Summary
ListgetConnectorAddresses()
Returns a list of local addresses (one for each Connector)
ReceivergetReceiver()
voidlistenOn(String bind_interface, int local_port, int port_range, int receive_buffer_size, int receiver_sock_buf_size, int send_sock_buf_size, int ip_ttl, Receiver receiver)
Adds the given interface address to the list of interfaces on which the receiver mcast socket has to listen.
voidreceive(DatagramPacket packet)
static voidreceivePacket(DatagramPacket packet, DatagramSocket sock, Receiver receiver)
voidrun()
voidsend(DatagramPacket msg)
Sends a packet.
voidsetReceiver(Receiver receiver)
voidstart()
Get all interfaces, create one Connector per interface and call start() on it
voidstop()
StringtoString()

Constructor Detail

ConnectorTable

public ConnectorTable(InetSocketAddress mcast_addr, int receive_buffer_size, int receive_sock_buf_size, boolean ip_mcast, Receiver receiver)

Method Detail

getConnectorAddresses

public List getConnectorAddresses()
Returns a list of local addresses (one for each Connector)

Returns: List

getReceiver

public Receiver getReceiver()

listenOn

public void listenOn(String bind_interface, int local_port, int port_range, int receive_buffer_size, int receiver_sock_buf_size, int send_sock_buf_size, int ip_ttl, Receiver receiver)
Adds the given interface address to the list of interfaces on which the receiver mcast socket has to listen. Also creates a new Connector. Calling this method twice on the same interface will throw an exception

Parameters: bind_interface local_port port_range receive_buffer_size

Throws: IOException

receive

public void receive(DatagramPacket packet)

receivePacket

public static void receivePacket(DatagramPacket packet, DatagramSocket sock, Receiver receiver)

run

public void run()

send

public void send(DatagramPacket msg)
Sends a packet. If the destination is a multicast address, call send() on all connectors. If destination is not null, send the message using any Connector: if we send a unicast message, it doesn't matter to which interface we are bound; the kernel will choose the correct interface based on the destination and the routing table. Note that the receiver will have the interface which was chosen by the kernel to send the message as the receiver's address, so the correct Connector will receive a possible response.

Parameters: msg

Throws: Exception

setReceiver

public void setReceiver(Receiver receiver)

start

public void start()
Get all interfaces, create one Connector per interface and call start() on it

stop

public void stop()

toString

public String toString()
Copyright ? 1998-2005 Bela Ban. All Rights Reserved.