public class NettyConnection extends Object implements Connection
Modifier and Type | Field and Description |
---|---|
protected io.netty.channel.Channel |
channel |
Constructor and Description |
---|
NettyConnection(Map<String,Object> configuration,
io.netty.channel.Channel channel,
BaseConnectionLifeCycleListener listener,
boolean batchingEnabled,
boolean directDeliver) |
Modifier and Type | Method and Description |
---|---|
boolean |
blockUntilWritable(int requiredCapacity,
long timeout,
TimeUnit timeUnit)
Causes the current thread to wait until the connection can enqueue the required capacity unless the specified waiting time elapses.
|
void |
checkFlushBatchBuffer()
Called periodically to flush any data in the batch buffer
|
void |
close()
Closes the connection.
|
ActiveMQBuffer |
createTransportBuffer(int size)
Create a new ActiveMQBuffer of the given size.
|
void |
fireReady(boolean ready) |
void |
forceClose()
This should close the internal channel without calling any listeners.
|
io.netty.channel.Channel |
getChannel()
This is exposed so users would have the option to look at any data through interceptors
|
TransportConfiguration |
getConnectorConfig()
Generates a
TransportConfiguration to be used to connect to the same target this is
connected to. |
ActiveMQPrincipal |
getDefaultActiveMQPrincipal() |
Object |
getID()
returns the unique id of this wire.
|
String |
getLocalAddress()
Returns a string representation of the local address this connection is connected to.
|
io.netty.channel.Channel |
getNettyChannel() |
RemotingConnection |
getProtocolConnection() |
String |
getRemoteAddress()
Returns a string representation of the remote address this connection is connected to.
|
boolean |
isDirectDeliver() |
boolean |
isUsingProtocolHandling()
the InVM Connection has some special handling as it doesn't use Netty ProtocolChannel
we will use this method Instead of using instanceof
|
boolean |
isWritable(ReadyListener callback) |
int |
pendingWritesOnChannel() |
long |
pendingWritesOnEventLoop() |
void |
setAutoRead(boolean autoRead)
This will disable reading from the channel.
|
void |
setProtocolConnection(RemotingConnection protocolConnection) |
String |
toString() |
void |
write(ActiveMQBuffer buffer)
writes the buffer to the connection with no flushing or batching
|
void |
write(ActiveMQBuffer buffer,
boolean flush,
boolean batched)
writes the buffer to the connection and if flush is true returns only when the buffer has been physically written to the connection.
|
void |
write(ActiveMQBuffer buffer,
boolean flush,
boolean batched,
io.netty.channel.ChannelFutureListener futureListener)
writes the buffer to the connection and if flush is true returns only when the buffer has been physically written to the connection.
|
public NettyConnection(Map<String,Object> configuration, io.netty.channel.Channel channel, BaseConnectionLifeCycleListener listener, boolean batchingEnabled, boolean directDeliver)
public final int pendingWritesOnChannel()
public final long pendingWritesOnEventLoop()
public final io.netty.channel.Channel getNettyChannel()
public final void setAutoRead(boolean autoRead)
Connection
setAutoRead
in interface Connection
public final boolean isWritable(ReadyListener callback)
isWritable
in interface Connection
public final void fireReady(boolean ready)
fireReady
in interface Connection
public final void forceClose()
Connection
forceClose
in interface Connection
public final io.netty.channel.Channel getChannel()
public final RemotingConnection getProtocolConnection()
getProtocolConnection
in interface Connection
public final void setProtocolConnection(RemotingConnection protocolConnection)
setProtocolConnection
in interface Connection
public final void close()
Connection
close
in interface Connection
public ActiveMQBuffer createTransportBuffer(int size)
Connection
createTransportBuffer
in interface Connection
size
- the size of buffer to createpublic final Object getID()
Connection
getID
in interface Connection
public final void checkFlushBatchBuffer()
Connection
checkFlushBatchBuffer
in interface Connection
public final void write(ActiveMQBuffer buffer)
Connection
write
in interface Connection
buffer
- the buffer to writepublic final void write(ActiveMQBuffer buffer, boolean flush, boolean batched)
Connection
write
in interface Connection
buffer
- the buffer to writeflush
- whether to flush the buffers onto the wirebatched
- whether the packet is allowed to batched for better performancepublic final boolean blockUntilWritable(int requiredCapacity, long timeout, TimeUnit timeUnit)
Connection
blockUntilWritable
in interface Connection
requiredCapacity
- the capacity in bytes to be enqueuedtimeout
- the maximum time to waittimeUnit
- the time unit of the timeout argumenttrue
if the connection can enqueue requiredCapacity
bytes, false
otherwisepublic final void write(ActiveMQBuffer buffer, boolean flush, boolean batched, io.netty.channel.ChannelFutureListener futureListener)
Connection
write
in interface Connection
buffer
- the buffer to writeflush
- whether to flush the buffers onto the wirebatched
- whether the packet is allowed to batched for better performancepublic final String getRemoteAddress()
Connection
getRemoteAddress
in interface Connection
public final String getLocalAddress()
Connection
getLocalAddress
in interface Connection
public final boolean isDirectDeliver()
public final ActiveMQPrincipal getDefaultActiveMQPrincipal()
getDefaultActiveMQPrincipal
in interface Connection
public final TransportConfiguration getConnectorConfig()
Connection
TransportConfiguration
to be used to connect to the same target this is
connected to.getConnectorConfig
in interface Connection
public final boolean isUsingProtocolHandling()
Connection
isUsingProtocolHandling
in interface Connection
Copyright © 2017 JBoss by Red Hat. All rights reserved.