org.jgroups.protocols

Class TCP

Implemented Interfaces:
ConnectionTable.ConnectionListener, ConnectionTable.Receiver
Known Direct Subclasses:
TCP1_4

public class TCP
extends Protocol
implements ConnectionTable.Receiver, ConnectionTable.ConnectionListener

TCP based protocol. Creates a server socket, which gives us the local address of this group member. For each accept() on the server socket, a new thread is created that listens on the socket. For each outgoing message m, if m.dest is in the ougoing hashtable, the associated socket will be reused to send message, otherwise a new socket is created and put in the hashtable. When a socket connection breaks or a member is removed from the group, the corresponding items in the incoming and outgoing hashtables will be removed as well.
This functionality is in ConnectionTable, which isT used by TCP. TCP sends messages using ct.send() and registers with the connection table to receive all incoming messages.

Author:
Bela Ban

Field Summary

Fields inherited from class org.jgroups.stack.Protocol

down_handler, down_prot, down_queue, down_thread, down_thread_prio, log, observer, props, stack, up_handler, up_prot, up_queue, up_thread, up_thread_prio

Constructor Summary

TCP()

Method Summary

void
connectionClosed(Address peer_addr)
void
connectionOpened(Address peer_addr)
void
down(Event evt)
Sent to destination(s) using the ConnectionTable class.
protected ConnectionTable
getConnectionTable(long ri, long cet, InetAddress b_addr, int s_port)
String
getName()
void
receive(Message msg)
ConnectionTable.Receiver interface
boolean
setProperties(Properties props)
Setup the Protocol instance acording to the configuration string
void
start()
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.
void
stop()
String
toString()

Methods inherited from class org.jgroups.stack.Protocol

destroy, down, getDownProtocol, getDownQueue, getName, getProperties, getUpProtocol, getUpQueue, handleSpecialDownEvent, init, passDown, passUp, providedDownServices, providedUpServices, receiveDownEvent, receiveUpEvent, requiredDownServices, requiredUpServices, setDownProtocol, setObserver, setProperties, setPropertiesInternal, setProtocolStack, setUpProtocol, start, startDownHandler, startUpHandler, stop, stopInternal, up

Constructor Details

TCP

public TCP()

Method Details

connectionClosed

public void connectionClosed(Address peer_addr)
Specified by:
connectionClosed in interface ConnectionTable.ConnectionListener


connectionOpened

public void connectionOpened(Address peer_addr)
Specified by:
connectionOpened in interface ConnectionTable.ConnectionListener


down

public void down(Event evt)
Sent to destination(s) using the ConnectionTable class.
Overrides:
down in interface Protocol


getConnectionTable

protected ConnectionTable getConnectionTable(long ri,
                                             long cet,
                                             InetAddress b_addr,
                                             int s_port)
            throws Exception

Parameters:
ri -
cet -
b_addr -
s_port -

Returns:
ConnectionTable Sub classes overrides this method to initialize a different version of ConnectionTable.


getName

public String getName()
Overrides:
getName in interface Protocol


receive

public void receive(Message msg)
ConnectionTable.Receiver interface
Specified by:
receive in interface ConnectionTable.Receiver


setProperties

public boolean setProperties(Properties props)
Setup the Protocol instance acording to the configuration string
Overrides:
setProperties in interface Protocol


start

public void start()
            throws Exception
Overrides:
start in interface Protocol


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 interface Protocol


stop

public void stop()
Overrides:
stop in interface Protocol


toString

public String toString()


Copyright B) 2001,2002 www.jgroups.com . All Rights Reserved.