public class NettyTransport extends AbstractLifecycleComponent<Transport> implements Transport
Modifier and Type | Class and Description |
---|---|
protected class |
NettyTransport.ChannelCloseListener |
protected static class |
NettyTransport.ClientChannelPipelineFactory |
static class |
NettyTransport.NodeChannels |
protected static class |
NettyTransport.ServerChannelPipelineFactory |
lifecycle
deprecationLogger, logger, settings
TRANSPORT_TCP_COMPRESS
Constructor and Description |
---|
NettyTransport(Settings settings,
ThreadPool threadPool,
NetworkService networkService,
BigArrays bigArrays,
NamedWriteableRegistry namedWriteableRegistry,
CircuitBreakerService circuitBreakerService) |
Modifier and Type | Method and Description |
---|---|
TransportAddress[] |
addressesFromString(java.lang.String address,
int perAddressLimit)
Returns an address from its string representation.
|
boolean |
addressSupported(java.lang.Class<? extends TransportAddress> address)
Is the address type supported.
|
BoundTransportAddress |
boundAddress()
The address the transport is bound on.
|
org.jboss.netty.channel.ChannelPipelineFactory |
configureClientChannelPipelineFactory() |
org.jboss.netty.channel.ChannelPipelineFactory |
configureServerChannelPipelineFactory(java.lang.String name,
Settings settings) |
protected void |
connectToChannels(NettyTransport.NodeChannels nodeChannels,
DiscoveryNode node) |
protected NettyTransport.NodeChannels |
connectToChannelsLight(DiscoveryNode node) |
void |
connectToNode(DiscoveryNode node)
Connects to the given node, if already connected, does nothing.
|
void |
connectToNode(DiscoveryNode node,
boolean light) |
void |
connectToNodeLight(DiscoveryNode node)
Connects to a node in a light manner.
|
void |
disconnectFromNode(DiscoveryNode node)
Disconnected from the given node, if not connected, will do nothing.
|
protected boolean |
disconnectFromNode(DiscoveryNode node,
org.jboss.netty.channel.Channel channel,
java.lang.String reason)
Disconnects from a node, only if the relevant channel is found to be part of the node channels.
|
protected void |
disconnectFromNodeChannel(org.jboss.netty.channel.Channel channel,
java.lang.Throwable failure)
Disconnects from a node if a channel is found as part of that nodes channels.
|
protected void |
doClose() |
protected void |
doStart() |
protected void |
doStop() |
protected void |
exceptionCaught(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ExceptionEvent e) |
protected Version |
getCurrentVersion() |
java.util.List<java.lang.String> |
getLocalAddresses() |
protected org.jboss.netty.channel.Channel |
nodeChannel(DiscoveryNode node,
TransportRequestOptions options) |
boolean |
nodeConnected(DiscoveryNode node)
Returns true if the node is connected.
|
java.util.Map<java.lang.String,BoundTransportAddress> |
profileBoundAddresses()
Further profile bound addresses
|
void |
sendRequest(DiscoveryNode node,
long requestId,
java.lang.String action,
TransportRequest request,
TransportRequestOptions options)
Sends the request to the node.
|
long |
serverOpen()
Returns count of currently open connections
|
Settings |
settings() |
void |
transportServiceAdapter(TransportServiceAdapter service) |
addLifecycleListener, close, lifecycleState, removeLifecycleListener, start, stop
logDeprecatedSetting, logRemovedSetting, nodeName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addLifecycleListener, lifecycleState, removeLifecycleListener, start, stop
close
public static final java.lang.String HTTP_SERVER_WORKER_THREAD_NAME_PREFIX
public static final java.lang.String HTTP_SERVER_BOSS_THREAD_NAME_PREFIX
public static final java.lang.String TRANSPORT_CLIENT_WORKER_THREAD_NAME_PREFIX
public static final java.lang.String TRANSPORT_CLIENT_BOSS_THREAD_NAME_PREFIX
public static final Setting<java.lang.Integer> WORKER_COUNT
public static final Setting<java.lang.Integer> CONNECTIONS_PER_NODE_RECOVERY
public static final Setting<java.lang.Integer> CONNECTIONS_PER_NODE_BULK
public static final Setting<java.lang.Integer> CONNECTIONS_PER_NODE_REG
public static final Setting<java.lang.Integer> CONNECTIONS_PER_NODE_STATE
public static final Setting<java.lang.Integer> CONNECTIONS_PER_NODE_PING
public static final Setting<java.lang.Boolean> TCP_BLOCKING_CLIENT
public static final Setting<java.lang.Boolean> TCP_NO_DELAY
public static final Setting<java.lang.Boolean> TCP_KEEP_ALIVE
public static final Setting<java.lang.Boolean> TCP_BLOCKING_SERVER
public static final Setting<java.lang.Boolean> TCP_REUSE_ADDRESS
public static final Setting<ByteSizeValue> TCP_SEND_BUFFER_SIZE
public static final Setting<ByteSizeValue> TCP_RECEIVE_BUFFER_SIZE
public static final Setting<ByteSizeValue> NETTY_MAX_CUMULATION_BUFFER_CAPACITY
public static final Setting<java.lang.Integer> NETTY_MAX_COMPOSITE_BUFFER_COMPONENTS
public static final Setting<ByteSizeValue> NETTY_RECEIVE_PREDICTOR_SIZE
public static final Setting<ByteSizeValue> NETTY_RECEIVE_PREDICTOR_MIN
public static final Setting<ByteSizeValue> NETTY_RECEIVE_PREDICTOR_MAX
public static final Setting<java.lang.Integer> NETTY_BOSS_COUNT
protected final NetworkService networkService
protected final boolean blockingClient
protected final TimeValue connectTimeout
protected final ByteSizeValue maxCumulationBufferCapacity
protected final int maxCompositeBufferComponents
protected final boolean compress
protected final org.jboss.netty.channel.ReceiveBufferSizePredictorFactory receiveBufferSizePredictorFactory
protected final int workerCount
protected final ByteSizeValue receivePredictorMin
protected final ByteSizeValue receivePredictorMax
protected final int connectionsPerNodeRecovery
protected final int connectionsPerNodeBulk
protected final int connectionsPerNodeReg
protected final int connectionsPerNodeState
protected final int connectionsPerNodePing
protected final BigArrays bigArrays
protected final ThreadPool threadPool
protected volatile org.jboss.netty.bootstrap.ClientBootstrap clientBootstrap
protected final java.util.concurrent.ConcurrentMap<DiscoveryNode,NettyTransport.NodeChannels> connectedNodes
protected final java.util.Map<java.lang.String,org.jboss.netty.bootstrap.ServerBootstrap> serverBootstraps
protected final java.util.Map<java.lang.String,java.util.List<org.jboss.netty.channel.Channel>> serverChannels
protected final java.util.concurrent.ConcurrentMap<java.lang.String,BoundTransportAddress> profileBoundAddresses
protected volatile TransportServiceAdapter transportServiceAdapter
protected volatile BoundTransportAddress boundAddress
protected final KeyedLock<java.lang.String> connectionLock
protected final NamedWriteableRegistry namedWriteableRegistry
@Inject public NettyTransport(Settings settings, ThreadPool threadPool, NetworkService networkService, BigArrays bigArrays, NamedWriteableRegistry namedWriteableRegistry, CircuitBreakerService circuitBreakerService)
public Settings settings()
public void transportServiceAdapter(TransportServiceAdapter service)
transportServiceAdapter
in interface Transport
protected void doStart()
doStart
in class AbstractLifecycleComponent<Transport>
public java.util.Map<java.lang.String,BoundTransportAddress> profileBoundAddresses()
Transport
profileBoundAddresses
in interface Transport
null
iff profiles are unsupported, otherwise a map with name of profile and its bound transport addressprotected void doStop()
doStop
in class AbstractLifecycleComponent<Transport>
protected void doClose()
doClose
in class AbstractLifecycleComponent<Transport>
public TransportAddress[] addressesFromString(java.lang.String address, int perAddressLimit) throws java.lang.Exception
Transport
addressesFromString
in interface Transport
java.lang.Exception
public boolean addressSupported(java.lang.Class<? extends TransportAddress> address)
Transport
addressSupported
in interface Transport
public BoundTransportAddress boundAddress()
Transport
boundAddress
in interface Transport
protected void exceptionCaught(org.jboss.netty.channel.ChannelHandlerContext ctx, org.jboss.netty.channel.ExceptionEvent e) throws java.lang.Exception
java.lang.Exception
public long serverOpen()
Transport
serverOpen
in interface Transport
public java.util.List<java.lang.String> getLocalAddresses()
getLocalAddresses
in interface Transport
public void sendRequest(DiscoveryNode node, long requestId, java.lang.String action, TransportRequest request, TransportRequestOptions options) throws java.io.IOException, TransportException
Transport
sendRequest
in interface Transport
java.io.IOException
TransportException
public boolean nodeConnected(DiscoveryNode node)
Transport
nodeConnected
in interface Transport
public void connectToNodeLight(DiscoveryNode node) throws ConnectTransportException
Transport
connectToNodeLight
in interface Transport
ConnectTransportException
public void connectToNode(DiscoveryNode node)
Transport
connectToNode
in interface Transport
public void connectToNode(DiscoveryNode node, boolean light)
protected NettyTransport.NodeChannels connectToChannelsLight(DiscoveryNode node)
protected void connectToChannels(NettyTransport.NodeChannels nodeChannels, DiscoveryNode node)
public void disconnectFromNode(DiscoveryNode node)
Transport
disconnectFromNode
in interface Transport
protected boolean disconnectFromNode(DiscoveryNode node, org.jboss.netty.channel.Channel channel, java.lang.String reason)
protected void disconnectFromNodeChannel(org.jboss.netty.channel.Channel channel, java.lang.Throwable failure)
protected org.jboss.netty.channel.Channel nodeChannel(DiscoveryNode node, TransportRequestOptions options) throws ConnectTransportException
ConnectTransportException
public org.jboss.netty.channel.ChannelPipelineFactory configureClientChannelPipelineFactory()
public org.jboss.netty.channel.ChannelPipelineFactory configureServerChannelPipelineFactory(java.lang.String name, Settings settings)
protected Version getCurrentVersion()