## org.jgroups.protocols
Class BasicTCP

    java.lang.Object
      org.jgroups.stack.Protocol
          org.jgroups.protocols.TP
              org.jgroups.protocols.BasicTCP

Direct Known Subclasses:
  TCP, TCP_NIO

    public abstract class BasicTCP

extends TP

Shared base class for tcpip protocols

Author:
  Scott Marlow

Nested Class Summary

Nested classes/interfaces inherited from class org.jgroups.protocols.TP
`TP.Bundler, TP.DiagnosticsHandler, TP.ProbeHandler, TP.ProtocolAdapter`

Field Summary
`protected long` `conn_expire_time`
`protected long` `reaper_interval`

Fields inherited from class org.jgroups.protocols.TP

`bind_addr, bind_interface_str, bind_port, bundler, bundler_capacity, bundler_type, can_bind_to_mcast_addr, channel_name, connect_count, connectLock, default_thread_factory, diag_handler, diagnostics_addr, diagnostics_port, discard_incompatible_packets, enable_bundling, enable_diagnostics, enable_unicast_bundling, f, global_thread_factory, header, last_discovery_request, LIST, local_addr, log_discard_msgs, logical_addr_cache, logical_addr_cache_expiration, logical_addr_cache_max_size, loopback, max_bundle_size, max_bundle_timeout, members, MULTICAST, num_bytes_received, num_bytes_sent, num_incoming_msgs_received, num_msgs_received, num_msgs_sent, num_oob_msgs_received, OOB, oob_thread_factory, oob_thread_pool, oob_thread_pool_enabled, oob_thread_pool_keep_alive_time, oob_thread_pool_max_threads, oob_thread_pool_min_threads, oob_thread_pool_queue, oob_thread_pool_queue_enabled, oob_thread_pool_queue_max_size, pool_thread_group, port_range, preregistered_probe_handlers, print_function, receive_interfaces, receive_on_all_interfaces, singleton_name, socket_factory, thread_naming_pattern, thread_pool, thread_pool_enabled, thread_pool_keep_alive_time, thread_pool_max_threads, thread_pool_min_threads, thread_pool_queue, thread_pool_queue_enabled, thread_pool_queue_max_size, thread_pool_rejection_policy, tick_time, timer, timer_keep_alive_time, timer_max_threads, timer_min_threads, timer_queue_max_size, timer_thread_factory, timer_type, up_prots, wheel_size, who_has_cache`

Fields inherited from class org.jgroups.stack.Protocol
`down_prot, ergonomics, id, log, name, stack, stats, up_prot`

Constructor Summary
`protected` `BasicTCP()`

Method Summary
`long` `getConnExpireTime()`
`java.lang.String` `getInfo()`
`long` `getReaperInterval()`
`protected java.lang.Object` `handleDownEvent(Event evt)`
`void` `init()` Called after instance has been created (null constructor) and before protocol is started.
`abstract java.lang.String` `printConnections()`
`void` `receive(Address sender, byte[] data, int offset, int length)` ConnectionMap.Receiver interface
`abstract void` `retainAll(java.util.Collection<Address> members)`
`abstract void` `send(Address dest, byte[] data, int offset, int length)`
`void` `sendMulticast(byte[] data, int offset, int length)` Send to all members in the group.
`void` `sendUnicast(PhysicalAddress dest, byte[] data, int offset, int length)` Send a unicast to 1 member.
`void` `setConnExpireTime(long conn_expire_time)`
`void` `setReaperInterval(long reaper_interval)`
`boolean` `supportsMulticasting()` Whether or not hardware multicasting is supported

Methods inherited from class org.jgroups.protocols.TP

`addPhysicalAddressToCache, clearLogicalAddressCache, createThreadPool, destroy, dispatchToThreadPool, doSend, down, dumpTimerTasks, evictLogicalAddressCache, fetchLocalAddresses, getBindAddress, getBindAddressAsInetAddress, getBindPort, getBindToAllInterfaces, getBundlerBufferSize, getDefaultThreadPool, getDefaultThreadPoolThreadFactory, getLogDiscardMessages, getMaxBundleSize, getMaxBundleTimeout, getNumBytesReceived, getNumBytesSent, getNumMessagesReceived, getNumMessagesSent, getNumTimerTasks, getOOBMaxQueueSize, getOOBMessages, getOOBPoolSize, getOOBQueueSize, getOOBThreadPool, getOOBThreadPoolKeepAliveTime, getOOBThreadPoolMaxThreads, getOOBThreadPoolMinThreads, getOOBThreadPoolThreadFactory, getPhysicalAddress, getPhysicalAddressFromCache, getPoolThreadGroup, getPortRange, getReceiveInterfaces, getRegularMaxQueueSize, getRegularMessages, getRegularPoolSize, getRegularQueueSize, getSendInterfaces, getSingletonName, getSocketFactory, getThreadFactory, getThreadNamingPattern, getThreadPoolKeepAliveTime, getThreadPoolMaxThreads, getThreadPoolMinThreads, getTimer, getTimerClass, getTimerKeepAliveTime, getTimerMaxThreads, getTimerMinThreads, getTimerQueueSize, getTimerThreadFactory, getTimerThreads, getUpProtocols, handleConnect, handleDisconnect, isDefaulThreadPoolEnabled, isDiscardIncompatiblePackets, isEnableBundling, isEnableUnicastBundling, isLoopback, isOOBThreadPoolEnabled, isReceiveOnAllInterfaces, isSendOnAllInterfaces, isSingleton, isUseIncomingPacketHandler, parseRejectionPolicy, passMessageUp, passToAllUpProtocols, printLogicalAddressCache, readMessage, readMessageList, registerLocalAddress, registerProbeHandler, removeLogicalAddressFromCache, resetStats, send, sendToAllPhysicalAddresses, sendToSingleMember, setBindAddress, setBindPort, setBindToAllInterfaces, setDefaultThreadPool, setDefaultThreadPoolThreadFactory, setDiscardIncompatiblePackets, setEnableBundling, setEnableUnicastBundling, setInAllThreadFactories, setLogDiscardMessages, setLoopback, setMaxBundleSize, setMaxBundleTimeout, setOOBRejectionPolicy, setOOBThreadPool, setOOBThreadPoolKeepAliveTime, setOOBThreadPoolMaxThreads, setOOBThreadPoolMinThreads, setOOBThreadPoolThreadFactory, setPortRange, setRegularRejectionPolicy, setSocketFactory, setSourceAddress, setThreadFactory, setThreadNames, setThreadPoolKeepAliveTime, setThreadPoolMaxThreads, setThreadPoolMinThreads, setThreadPoolQueueEnabled, setTimerKeepAliveTime, setTimerMaxThreads, setTimerMinThreads, setTimerThreadFactory, setUseConcurrentStack, shutdownThreadPool, start, stop, toString, unregisterProbeHandler, unsetThreadNames, up, verifyRejectionPolicy, writeMessage, writeMessageList`

Methods inherited from class org.jgroups.stack.Protocol

`downThreadEnabled, dumpStats, enableStats, getConfigurableObjects, getDownProtocol, getId, getLevel, getName, getProperties, getProtocolStack, getTransport, getUpProtocol, getValue, isErgonomics, printStats, providedDownServices, providedUpServices, requiredDownServices, requiredUpServices, setDownProtocol, setErgonomics, setId, setLevel, setProperties, setPropertiesInternal, setProperty, setProtocolStack, setUpProtocol, setValue, setValues, statsEnabled, upThreadEnabled`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### reaper_interval

    protected long reaper_interval

### conn_expire_time

    protected long conn_expire_time

Constructor Detail

### BasicTCP

    protected BasicTCP()

Method Detail

### supportsMulticasting

    public boolean supportsMulticasting()

  Description copied from class: `TP`
  Whether or not hardware multicasting is supported

  Specified by:
    `supportsMulticasting` in class `TP`

### getReaperInterval

    public long getReaperInterval()

### setReaperInterval

    public void setReaperInterval(long reaper_interval)

### getConnExpireTime

    public long getConnExpireTime()

### setConnExpireTime

    public void setConnExpireTime(long conn_expire_time)

### 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. Properties are already set. Other protocols are not yet connected and events cannot yet be sent.

  Overrides:
    `init` in class `TP`
  Throws:
    `java.lang.Exception` - Thrown if protocol cannot be initialized successfully. This will cause the ProtocolStack to fail, so the channel constructor will throw an exception

### sendMulticast

    public void sendMulticast(byte[] data,
                              int offset,
                              int length)
                       throws java.lang.Exception

  Description copied from class: `TP`
  Send to all members in the group. UDP would use an IP multicast message, whereas TCP would send N messages, one for each member

  Specified by:
    `sendMulticast` in class `TP`
  Parameters:
    `data` - The data to be sent. This is not a copy, so don't modify it
  Throws:
    `java.lang.Exception`

### sendUnicast

    public void sendUnicast(PhysicalAddress dest,
                            byte[] data,
                            int offset,
                            int length)
                     throws java.lang.Exception

  Description copied from class: `TP`
  Send a unicast to 1 member. Note that the destination address is a *physical*, not a logical address

  Specified by:
    `sendUnicast` in class `TP`
  Parameters:
    `dest` - Must be a non-null unicast address
    `data` - The data to be sent. This is not a copy, so don't modify it
  Throws:
    `java.lang.Exception`

### getInfo

    public java.lang.String getInfo()

  Specified by:
    `getInfo` in class `TP`

### printConnections

    public abstract java.lang.String printConnections()

### send

    public abstract void send(Address dest,
                              byte[] data,
                              int offset,
                              int length)
                       throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### retainAll

    public abstract void retainAll(java.util.Collection<Address> members)

### receive

    public void receive(Address sender,
                        byte[] data,
                        int offset,
                        int length)

  ConnectionMap.Receiver interface

  Overrides:
    `receive` in class `TP`

### handleDownEvent

    protected java.lang.Object handleDownEvent(Event evt)

  Overrides:
    `handleDownEvent` in class `TP`

Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.