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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `BasicTCP()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.