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
  Author:
    Scott Marlow, Alex Fu, Bela Ban

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.jgroups.protocols.TP

      `TP.Bundler, TP.DiagnosticsHandler, TP.ProbeHandler, TP.ProtocolAdapter`

  - ### Field Summary

    - ### Fields inherited from class org.jgroups.protocols.BasicTCP

      `conn_expire_time, 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
    Constructor and Description
    `TCP_NIO()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected ConnectionTableNIO` | `getConnectionTable(long ri, long cet, java.net.InetAddress b_addr, java.net.InetAddress bc_addr, int s_port, int e_port)`
    `int` | `getOpenConnections()`
    `protected PhysicalAddress` | `getPhysicalAddress()`
    `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)`
    `void` | `start()` Creates the unicast and multicast sockets and starts the unicast and multicast receiver threads
    `void` | `stop()` This method is called on a `Channel.disconnect()`.

    - ### Methods inherited from class org.jgroups.protocols.BasicTCP

      `getConnExpireTime, getInfo, getReaperInterval, handleDownEvent, init, receive, sendMulticast, sendUnicast, setConnExpireTime, setReaperInterval, supportsMulticasting`

    - ### 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, 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, 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`

    - ### Methods inherited from interface org.jgroups.blocks.BasicConnectionTable.Receiver

      `receive`

- - ### Constructor Detail

    - #### TCP_NIO

          public TCP_NIO()

  - ### 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)
                                                   throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### printConnections

          public java.lang.String printConnections()

      Specified by:
        `printConnections` in class `BasicTCP`

    - #### getPhysicalAddress

          protected PhysicalAddress getPhysicalAddress()

      Specified by:
        `getPhysicalAddress` in class `TP`

    - #### send

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

      Specified by:
        `send` in class `BasicTCP`
      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 class `TP`
      Throws:
        `java.lang.Exception` - Thrown if protocol cannot be started successfully. This will cause the ProtocolStack to fail, so `Channel.connect(String)` will throw an exception

    - #### retainAll

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

      Specified by:
        `retainAll` in class `BasicTCP`

    - #### stop

          public void stop()

      Description copied from class: `Protocol`
      This method is called on a `Channel.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
      Overrides:
        `stop` in class `TP`

    - #### 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()

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