Package org.jgroups.protocols
Class TCP_NIO
- java.lang.Object
-
- org.jgroups.stack.Protocol
-
- org.jgroups.protocols.TP
-
- org.jgroups.protocols.BasicTCP
-
- org.jgroups.protocols.TCP_NIO
-
- All Implemented Interfaces:
BasicConnectionTable.Receiver
public class TCP_NIO extends BasicTCP implements BasicConnectionTable.Receiver
Transport using NIO- Version:
- $Id: TCP_NIO.java,v 1.17.2.2 2008/05/22 13:23:07 belaban Exp $
- Author:
- Scott Marlow, Alex Fu, Bela Ban
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jgroups.protocols.TP
TP.ProbeHandler, TP.ProtocolAdapter
-
-
Field Summary
-
Fields inherited from class org.jgroups.protocols.BasicTCP
conn_expire_time, end_port, external_addr, reaper_interval, start_port
-
Fields inherited from class org.jgroups.protocols.TP
bind_addr, channel_name, discard_incompatible_packets, global_thread_factory, local_addr, members, persistent_ports, persistent_ports_file, pm, pm_expiry_time, thread_naming_pattern, timer, timer_thread_factory, view
-
-
Constructor Summary
Constructors Constructor Description TCP_NIO()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ConnectionTableNIO
getConnectionTable(long ri, long cet, java.net.InetAddress b_addr, java.net.InetAddress bc_addr, int s_port, int e_port, PortsManager pm)
java.lang.String
getName()
int
getOpenConnections()
long
getProcessorKeepAliveTime()
int
getProcessorMaxThreads()
int
getProcessorMinThreads()
int
getProcessorQueueSize()
int
getProcessorThreads()
int
getReaderThreads()
int
getWriterThreads()
java.lang.String
printConnections()
void
retainAll(java.util.Collection<Address> members)
void
send(Address dest, byte[] data, int offset, int length)
boolean
setProperties(java.util.Properties props)
Setup the Protocol instance acording to the configuration stringvoid
start()
Creates the unicast and multicast sockets and starts the unicast and multicast receiver threadsvoid
stop()
This method is called on aChannel.disconnect()
.-
Methods inherited from class org.jgroups.protocols.BasicTCP
getConnExpireTime, getEndPort, getInfo, getReaperInterval, getStartPort, handleDownEvent, init, postUnmarshalling, postUnmarshallingList, receive, sendToAllMembers, sendToSingleMember, setConnExpireTime, setEndPort, setReaperInterval, setStartPort
-
Methods inherited from class org.jgroups.protocols.TP
createThreadPool, destroy, down, dumpStats, getBindAddress, getBindPort, getBindToAllInterfaces, getChannelName, getDefaultThreadPool, getDefaultThreadPoolThreadFactory, getIncomingKeepAliveTime, getIncomingMaxPoolSize, getIncomingMaxQueueSize, getIncomingMessages, getIncomingMinPoolSize, getIncomingPoolSize, getIncomingQueueSize, getLocalAddress, getMaxBundleSize, getMaxBundleTimeout, getNumBytesReceived, getNumBytesSent, getNumMessagesReceived, getNumMessagesSent, getOOBKeepAliveTime, getOOBMaxPoolSize, getOOBMaxQueueSize, getOOBMessages, getOOBMinPoolSize, getOOBPoolSize, getOOBQueueSize, getOOBThreadPool, getOOBThreadPoolThreadFactory, getReceiveInterfaces, getSendInterfaces, getSingletonName, getThreadFactory, getThreadNamingPattern, getTimer, getTimerThreadFactory, getUpProtocols, handleConfigEvent, handleConnect, handleDisconnect, isDefaulThreadPoolEnabled, isDiscardIncompatiblePackets, isEnable_unicast_bundling, isEnableBundling, isLoopback, isOOBThreadPoolEnabled, isReceiveOnAllInterfaces, isSendOnAllInterfaces, isUseIncomingPacketHandler, passToAllUpProtocols, receive, registerProbeHandler, resetStats, sendUpLocalAddressEvent, setBindAddress, setBindPort, setBindToAllInterfaces, setDefaultThreadPool, setDefaultThreadPoolThreadFactory, setDiscardIncompatiblePackets, setEnable_unicast_bundling, setEnableBundling, setIncomingKeepAliveTime, setIncomingMaxPoolSize, setIncomingMinPoolSize, setLoopback, setMaxBundleSize, setMaxBundleTimeout, setOOBKeepAliveTime, setOOBMaxPoolSize, setOOBMinPoolSize, setOOBThreadPool, setOOBThreadPoolThreadFactory, setThreadFactory, setThreadNames, setTimerThreadFactory, toString, unregisterProbeHandler, unsetThreadNames, up
-
Methods inherited from class org.jgroups.stack.Protocol
downThreadEnabled, enableStats, getDownProtocol, getProperties, getProtocolStack, getTransport, getUpProtocol, printStats, providedDownServices, providedUpServices, requiredDownServices, requiredUpServices, setDownProtocol, setPropertiesInternal, setProtocolStack, setUpProtocol, statsEnabled, upThreadEnabled
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jgroups.blocks.BasicConnectionTable.Receiver
receive
-
-
-
-
Method Detail
-
getConnectionTable
protected ConnectionTableNIO getConnectionTable(long ri, long cet, java.net.InetAddress b_addr, java.net.InetAddress bc_addr, int s_port, int e_port, PortsManager pm) throws java.lang.Exception
- Throws:
java.lang.Exception
-
printConnections
public java.lang.String printConnections()
- Specified by:
printConnections
in classBasicTCP
-
send
public void send(Address dest, byte[] data, int offset, int length) throws java.lang.Exception
-
start
public void start() throws java.lang.Exception
Description copied from class:TP
Creates the unicast and multicast sockets and starts the unicast and multicast receiver threads- Overrides:
start
in classTP
- Throws:
java.lang.Exception
- Thrown if protocol cannot be started successfully. This will cause the ProtocolStack to fail, soChannel.connect(String)
will throw an exception
-
retainAll
public void retainAll(java.util.Collection<Address> members)
-
stop
public void stop()
Description copied from class:Protocol
This method is called on aChannel.disconnect()
. Stops work (e.g. by closing multicast socket). Will be called from top to bottom. This means that at the time of the method invocation the neighbor protocol below is still working. This method will replace the STOP, STOP_OK, CLEANUP and CLEANUP_OK events. The ProtocolStack guarantees that when this method is called all messages in the down queue will have been flushed
-
getReaderThreads
public int getReaderThreads()
-
getWriterThreads
public int getWriterThreads()
-
getProcessorThreads
public int getProcessorThreads()
-
getProcessorMinThreads
public int getProcessorMinThreads()
-
getProcessorMaxThreads
public int getProcessorMaxThreads()
-
getProcessorQueueSize
public int getProcessorQueueSize()
-
getProcessorKeepAliveTime
public long getProcessorKeepAliveTime()
-
getOpenConnections
public int getOpenConnections()
-
setProperties
public boolean setProperties(java.util.Properties props)
Setup the Protocol instance acording to the configuration string- Overrides:
setProperties
in classBasicTCP
- 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
-
-