Package org.jgroups.protocols
Class BasicTCP
java.lang.Object
org.jgroups.stack.Protocol
org.jgroups.protocols.TP
org.jgroups.protocols.BasicTCP
- All Implemented Interfaces:
ConnectionListener,Receiver,Lifecycle,DiagnosticsHandler.ProbeHandler
Shared base class for TCP protocols
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected InetAddressprotected intprotected longprotected booleanprotected booleanprotected intprotected booleanprotected intprotected final LongAdderprotected intprotected longprotected intprotected intprotected intprotected booleanprotected booleanFields inherited from class org.jgroups.protocols.TP
async_executor, bind_addr, bind_port, bundler, bundler_type, cluster_name, connectLock, diag_handler, external_addr, external_port, header, is_trace, last_discovery_request, LIST, local_physical_addr, local_transport, local_transport_class, log_discard_msgs, log_discard_msgs_version, logical_addr_cache, logical_addr_cache_expiration, logical_addr_cache_max_size, logical_addr_cache_reaper, logical_addr_cache_reaper_interval, loopback_copy, loopback_separate_thread, members, message_processing_policy, MIN_WAIT_BETWEEN_DISCOVERIES, msg_factory, msg_factory_class, MSG_OVERHEAD, msg_processing_policy, msg_stats, MULTICAST, port_range, print_function, receive_interfaces, receive_on_all_interfaces, rtt, socket_factory, suppress_log_different_cluster, suppress_log_different_version, suppress_time_different_cluster_warnings, suppress_time_different_version_warnings, thread_factory, thread_naming_pattern, thread_pool, time_service, time_service_interval, timer, timer_handle_non_blocking_tasks, use_virtual_threads, view, who_has_cache, who_has_cache_timeoutFields inherited from class org.jgroups.stack.Protocol
after_creation_hook, down_prot, ergonomics, id, local_addr, log, policies, stack, stats, up_prot -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidconnectionClosed(Connection conn) voidbooleandeferClientBindAddr(boolean d) An event is to be sent down the stack.booleanenableSuspectEvents(boolean b) intlonggetInfo()intintintlongintintintvoidinit()Called after a protocol has been created and before the protocol is started.booleanlogDetails(boolean l) abstract StringreaperInterval(long interval) voidabstract voidretainAll(Collection<Address> members) abstract voidvoidsendUnicast(PhysicalAddress dest, byte[] data, int offset, int length) Send a unicast to a member.setClientBindPort(int c) setConnExpireTime(long time) setLinger(int l) setMaxLength(int len) setPeerAddrReadTimeout(int p) setReaperInterval(long interval) setRecvBufSize(int r) setSendBufSize(int s) setSockConnTimeout(int s) booleanWhether hardware multicasting is supportedbooleantcpNodelay(boolean t) booleanuseAcks()useAcks(boolean f) Methods inherited from class org.jgroups.protocols.TP
_send, addPhysicalAddressToCache, addPhysicalAddressToCache, bundler, clearDifferentClusterCache, clearDifferentVersionCache, clearLogicalAddressCache, createBundler, createDiagnosticsHandler, defaultHeaders, destroy, disableDiagnostics, doSend, down, dumpTimerTasks, enableBlockingTimerTasks, enableDiagnostics, enableStats, evictLogicalAddressCache, evictLogicalAddressCache, fetchLocalAddresses, fetchPhysicalAddrs, fetchResponsesFromDiscoveryProtocol, getAllPhysicalAddressesFromCache, getAsyncExecutor, getBindAddr, getBindAddress, getBindPort, getBundler, getBundlerClass, getBundlerType, getClusterName, getClusterNameAscii, getDiagnosticsHandler, getDifferentClusterMessages, getDifferentVersionMessages, getExternalAddr, getExternalPort, getLocalPhysicalAddress, getLocalTransport, getLogDiscardMessages, getLogDiscardMessagesVersion, getLogicalAddrCacheExpiration, getLogicalAddrCacheMaxSize, getLogicalAddrCacheReaperInterval, getLogicalAddressCache, getMessageFactory, getMessageFactoryClass, getMessageProcessingPolicy, getMessageStats, getMsgFactoryClass, getNumberOfThreadDumps, getNumMcastMsgsReceived, getNumMcastMsgsSent, getNumRejectedMsgs, getNumThreads, getNumTimerTasks, getNumUcastMsgsReceived, getNumUcastMsgsSent, getPhysicalAddress, getPhysicalAddressFromCache, getPortRange, getReceiveInterfaces, getRTT, getSocketFactory, getSuppressTimeDifferentClusterWarnings, getSuppressTimeDifferentVersionWarnings, getThreadFactory, getThreadNamingPattern, getThreadPool, getTimer, getTimerClass, getTimerThreads, getTimeService, getTimeServiceInterval, getWhoHasCacheTimeout, handleConnect, handleDisconnect, handleMessageBatch, handleProbe, handleSingleMessage, isLogicalAddressCacheReaperRunning, isMulticastCapable, isReceiveOnAllInterfaces, isTrace, isTrace, localPhysicalAddress, logDiscardMsgs, logDiscardMsgs, logDiscardMsgsVersion, logDiscardMsgsVersion, loggerType, loopback, loopbackCopy, loopbackCopy, loopbackSeparateThread, loopbackSeparateThread, passBatchUp, passMessageUp, printLogicalAddressCache, printWhoHasCache, processBatch, receive, receive, receiveOnAllInterfaces, receiveOnAllInterfaces, registerLocalAddress, registerProbeHandler, removeCancelledTimerTasks, removeLogicalAddressFromCache, sameCluster, sendTo, sendToAll, setAddress, setAsyncExecutor, setBindAddr, setBindAddress, setBindPort, setBindToAllInterfaces, setBundler, setBundlerType, setDiagnosticsHandler, setExternalAddr, setExternalPort, setInAllThreadFactories, setLevel, setLocalTransport, setLocalTransport, setLogDiscardMessages, setLogDiscardMessagesVersion, setLogicalAddrCacheExpiration, setLogicalAddrCacheMaxSize, setLogicalAddrCacheReaperInterval, setMessageFactory, setMessageProcessingPolicy, setMsgFactoryClass, setPortRange, setSocketFactory, setSourceAddress, setSuppressTimeDifferentClusterWarnings, setSuppressTimeDifferentVersionWarnings, setThreadFactory, setThreadNames, setThreadPool, setTimer, setTimeService, setTimeServiceInterval, setWhoHasCacheTimeout, start, startDiagnostics, stop, stopDiagnostics, supportedKeys, timestamp, toString, unicastDestMismatch, unregisterProbeHandler, unsetThreadNames, useVirtualThreads, useVirtualThreads, versionMatch, viewMethods inherited from class org.jgroups.stack.Protocol
accept, addPolicy, addr, addr, afterCreationHook, down, getAddress, getComponents, getDownProtocol, getDownServices, getId, getIdsAbove, getLevel, getLog, getName, getPolicies, getProtocolStack, getTransport, getUpProtocol, getUpServices, getValue, isErgonomics, level, parse, policies, providedDownServices, providedUpServices, removePolicy, requiredDownServices, requiredUpServices, resetStatistics, setDownProtocol, setErgonomics, setId, setPolicies, setProtocolStack, setUpProtocol, setValue, statsEnabled, up, up, up
-
Field Details
-
reaper_interval
protected long reaper_interval -
conn_expire_time
protected long conn_expire_time -
recv_buf_size
protected int recv_buf_size -
send_buf_size
protected int send_buf_size -
sock_conn_timeout
protected int sock_conn_timeout -
peer_addr_read_timeout
protected int peer_addr_read_timeout -
max_length
protected int max_length -
tcp_nodelay
protected boolean tcp_nodelay -
linger
protected int linger -
use_acks
protected boolean use_acks -
client_bind_addr
-
client_bind_port
protected int client_bind_port -
defer_client_bind_addr
protected boolean defer_client_bind_addr -
log_details
protected boolean log_details -
enable_suspect_events
protected boolean enable_suspect_events -
num_suspect_events
-
-
Constructor Details
-
BasicTCP
protected BasicTCP()
-
-
Method Details
-
supportsMulticasting
public boolean supportsMulticasting()Description copied from class:TPWhether hardware multicasting is supported- Specified by:
supportsMulticastingin classTP
-
getReaperInterval
public long getReaperInterval() -
setReaperInterval
-
reaperInterval
-
getConnExpireTime
public long getConnExpireTime() -
setConnExpireTime
-
getRecvBufSize
public int getRecvBufSize() -
setRecvBufSize
-
getSendBufSize
public int getSendBufSize() -
setSendBufSize
-
getSockConnTimeout
public int getSockConnTimeout() -
setSockConnTimeout
-
getMaxLength
public int getMaxLength() -
setMaxLength
-
getPeerAddrReadTimeout
public int getPeerAddrReadTimeout() -
setPeerAddrReadTimeout
-
tcpNodelay
public boolean tcpNodelay() -
tcpNodelay
-
getLinger
public int getLinger() -
setLinger
-
useAcks
public boolean useAcks() -
useAcks
-
getClientBindAddr
-
setClientBindAddr
-
getClientBindPort
public int getClientBindPort() -
setClientBindPort
-
deferClientBindAddr
public boolean deferClientBindAddr() -
deferClientBindAddr
-
logDetails
public boolean logDetails() -
logDetails
-
enableSuspectEvents
public boolean enableSuspectEvents() -
enableSuspectEvents
-
init
Description copied from class:ProtocolCalled after a protocol has been created and before the protocol is started. Attributes are already set. Other protocols are not yet connected and events cannot yet be sent. -
sendUnicast
Description copied from class:TPSend a unicast to a member. Note that the destination address is a *physical*, not a logical address- Specified by:
sendUnicastin classTP- Parameters:
dest- Must be a non-null unicast addressdata- The data to be sent. This is not a copy, so don't modify it- Throws:
Exception
-
getInfo
-
printConnections
-
send
- Throws:
Exception
-
retainAll
-
resetStats
public void resetStats()- Overrides:
resetStatsin classTP
-
down
Description copied from class:ProtocolAn event is to be sent down the stack. A protocol may want to examine its type and perform some action on it, depending on the event's type. If the event is a message MSG, then the protocol may need to add a header to it (or do nothing at all) before sending it down the stack usingdown_prot.down(). -
connectionClosed
- Specified by:
connectionClosedin interfaceConnectionListener
-
connectionEstablished
- Specified by:
connectionEstablishedin interfaceConnectionListener
-