Class SecurityNioTransport

java.lang.Object
org.elasticsearch.common.component.AbstractLifecycleComponent
org.elasticsearch.transport.TcpTransport
org.elasticsearch.transport.nio.NioTransport
org.elasticsearch.xpack.security.transport.nio.SecurityNioTransport
All Implemented Interfaces:
Closeable, AutoCloseable, org.elasticsearch.common.component.LifecycleComponent, org.elasticsearch.core.Releasable, org.elasticsearch.transport.Transport

public class SecurityNioTransport extends org.elasticsearch.transport.nio.NioTransport
This transport provides a transport based on nio that is secured by SSL/TLS. SSL/TLS is a communications protocol that allows two channels to go through a handshake process prior to application data being exchanged. The handshake process enables the channels to exchange parameters that will allow them to encrypt the application data they exchange.

The specific SSL/TLS parameters and configurations are setup in the SSLService class. The actual implementation of the SSL/TLS layer is in the SSLChannelContext and SSLDriver classes.

  • Nested Class Summary

    Nested classes/interfaces inherited from class org.elasticsearch.transport.nio.NioTransport

    org.elasticsearch.transport.nio.NioTransport.TcpChannelFactory

    Nested classes/interfaces inherited from class org.elasticsearch.transport.TcpTransport

    org.elasticsearch.transport.TcpTransport.HttpRequestOnTransportException, org.elasticsearch.transport.TcpTransport.NodeChannels, org.elasticsearch.transport.TcpTransport.ProfileSettings

    Nested classes/interfaces inherited from interface org.elasticsearch.transport.Transport

    org.elasticsearch.transport.Transport.Connection, org.elasticsearch.transport.Transport.RequestHandlers, org.elasticsearch.transport.Transport.ResponseContext<T extends org.elasticsearch.transport.TransportResponse>, org.elasticsearch.transport.Transport.ResponseHandlers
  • Field Summary

    Fields inherited from class org.elasticsearch.transport.nio.NioTransport

    pageAllocator

    Fields inherited from class org.elasticsearch.transport.TcpTransport

    networkService, profileSettingsSet, recycler, rstOnClose, settings, threadPool, TRANSPORT_WORKER_THREAD_NAME_PREFIX

    Fields inherited from class org.elasticsearch.common.component.AbstractLifecycleComponent

    lifecycle
  • Constructor Summary

    Constructors
    Constructor
    Description
    SecurityNioTransport(org.elasticsearch.common.settings.Settings settings, org.elasticsearch.Version version, org.elasticsearch.threadpool.ThreadPool threadPool, org.elasticsearch.common.network.NetworkService networkService, org.elasticsearch.common.util.PageCacheRecycler pageCacheRecycler, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.indices.breaker.CircuitBreakerService circuitBreakerService, IPFilter ipFilter, org.elasticsearch.xpack.core.ssl.SSLService sslService, org.elasticsearch.transport.nio.NioGroupFactory groupFactory)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Function<org.elasticsearch.cluster.node.DiscoveryNode,org.elasticsearch.transport.nio.NioTransport.TcpChannelFactory>
    clientChannelFactoryFunction(org.elasticsearch.transport.TcpTransport.ProfileSettings profileSettings)
     
    protected void
     
    boolean
     
    void
    onException(org.elasticsearch.transport.TcpChannel channel, Exception e)
     
    protected org.elasticsearch.transport.nio.NioTransport.TcpChannelFactory
    serverChannelFactory(org.elasticsearch.transport.TcpTransport.ProfileSettings profileSettings)
     

    Methods inherited from class org.elasticsearch.transport.nio.NioTransport

    acceptChannel, bind, initiateChannel, stopInternal

    Methods inherited from class org.elasticsearch.transport.TcpTransport

    addressesFromString, bindServer, boundAddress, createRecycler, doClose, doStop, executeHandshake, getDefaultSeedAddresses, getInflightBreaker, getProfileSettings, getRequestHandlers, getResponseHandlers, getStats, getStatsTracker, getThreadPool, getVersion, ignoreDeserializationErrors, inboundMessage, maybeOverrideConnectionProfile, newNetworkBytesStream, onServerException, openConnection, profileBoundAddresses, readMessageLength, serverAcceptedChannel, setMessageListener, setSlowLogThreshold

    Methods inherited from class org.elasticsearch.common.component.AbstractLifecycleComponent

    addLifecycleListener, close, lifecycleState, removeLifecycleListener, start, stop

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.elasticsearch.common.component.LifecycleComponent

    addLifecycleListener, lifecycleState, removeLifecycleListener, start, stop

    Methods inherited from interface org.elasticsearch.core.Releasable

    close

    Methods inherited from interface org.elasticsearch.transport.Transport

    registerRequestHandler
  • Constructor Details

    • SecurityNioTransport

      public SecurityNioTransport(org.elasticsearch.common.settings.Settings settings, org.elasticsearch.Version version, org.elasticsearch.threadpool.ThreadPool threadPool, org.elasticsearch.common.network.NetworkService networkService, org.elasticsearch.common.util.PageCacheRecycler pageCacheRecycler, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.indices.breaker.CircuitBreakerService circuitBreakerService, @Nullable IPFilter ipFilter, org.elasticsearch.xpack.core.ssl.SSLService sslService, org.elasticsearch.transport.nio.NioGroupFactory groupFactory)
  • Method Details

    • doStart

      protected void doStart()
      Overrides:
      doStart in class org.elasticsearch.transport.nio.NioTransport
    • onException

      public void onException(org.elasticsearch.transport.TcpChannel channel, Exception e)
      Overrides:
      onException in class org.elasticsearch.transport.TcpTransport
    • serverChannelFactory

      protected org.elasticsearch.transport.nio.NioTransport.TcpChannelFactory serverChannelFactory(org.elasticsearch.transport.TcpTransport.ProfileSettings profileSettings)
      Overrides:
      serverChannelFactory in class org.elasticsearch.transport.nio.NioTransport
    • clientChannelFactoryFunction

      protected Function<org.elasticsearch.cluster.node.DiscoveryNode,org.elasticsearch.transport.nio.NioTransport.TcpChannelFactory> clientChannelFactoryFunction(org.elasticsearch.transport.TcpTransport.ProfileSettings profileSettings)
      Overrides:
      clientChannelFactoryFunction in class org.elasticsearch.transport.nio.NioTransport
    • isSecure

      public boolean isSecure()