Class WebSocketTransport
java.lang.Object
org.apache.qpid.protonj2.client.transport.netty4.TcpTransport
org.apache.qpid.protonj2.client.transport.netty4.WebSocketTransport
- All Implemented Interfaces:
Transport
Netty based WebSockets Transport that wraps and extends the TCP Transport.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.qpid.protonj2.client.transport.netty4.TcpTransport
TcpTransport.NettyDefaultHandler<E>, TcpTransport.NettyTcpTransportHandler
-
Field Summary
Fields inherited from class org.apache.qpid.protonj2.client.transport.netty4.TcpTransport
bootstrap, channel, closed, connected, connectedLatch, failureCause, host, listener, nettyAllocator, options, port, sslOptions
-
Constructor Summary
ConstructorDescriptionWebSocketTransport
(io.netty.bootstrap.Bootstrap bootstrap, TransportOptions options, SslOptions sslOptions) Create a newWebSocketTransport
instance with the given configuration. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addAdditionalHandlers
(io.netty.channel.ChannelPipeline pipeline) protected io.netty.channel.ChannelInboundHandlerAdapter
Returns a URI that contains some meaningful information about the remote connection such as a scheme that reflects the transport type and the remote host and port that the connection was instructed to connect to.protected String
protected void
handleConnected
(io.netty.channel.Channel channel) write
(ProtonBuffer output, Runnable onComplete) Writes a chunk of data over the Transport connection without performing an explicit flush on the transport.writeAndFlush
(ProtonBuffer output, Runnable onComplete) Writes a chunk of data over the Transport connection and requests a flush of all pending queued write operationsMethods inherited from class org.apache.qpid.protonj2.client.transport.netty4.TcpTransport
awaitConnect, checkConnected, close, connect, flush, getBufferAllocator, getHost, getLocalPrincipal, getPort, getSslOptions, getTransportListener, getTransportOptions, handleTransportFailure, isConnected, isSecure, toOutputBuffer, write, writeAndFlush
-
Constructor Details
-
WebSocketTransport
public WebSocketTransport(io.netty.bootstrap.Bootstrap bootstrap, TransportOptions options, SslOptions sslOptions) Create a newWebSocketTransport
instance with the given configuration.- Parameters:
bootstrap
- theBootstrap
that this transport's IO is bound to.options
- theTransportOptions
used to configure the socket connection.sslOptions
- theSslOptions
to use if the options indicate SSL is enabled.
-
-
Method Details
-
write
Description copied from interface:Transport
Writes a chunk of data over the Transport connection without performing an explicit flush on the transport. This method allows for a completion callback that is signaled when the actual low level IO operation is completed which could be after this method has returned.- Specified by:
write
in interfaceTransport
- Overrides:
write
in classTcpTransport
- Parameters:
output
- The buffer of data that is to be transmitted.onComplete
- ARunnable
that is invoked when the IO operation completes successfully.- Returns:
- this
Transport
instance. - Throws:
IOException
- if an error occurs during the write operation.
-
writeAndFlush
public WebSocketTransport writeAndFlush(ProtonBuffer output, Runnable onComplete) throws IOException Description copied from interface:Transport
Writes a chunk of data over the Transport connection and requests a flush of all pending queued write operations- Specified by:
writeAndFlush
in interfaceTransport
- Overrides:
writeAndFlush
in classTcpTransport
- Parameters:
output
- The buffer of data that is to be transmitted.onComplete
- ARunnable
that is invoked when the IO operation completes successfully.- Returns:
- this
Transport
instance. - Throws:
IOException
- if an error occurs during the write operation.
-
getRemoteURI
Description copied from interface:Transport
Returns a URI that contains some meaningful information about the remote connection such as a scheme that reflects the transport type and the remote host and port that the connection was instructed to connect to. If called before theTransport.connect(String, int, TransportListener)
method this method returnsnull
.- Specified by:
getRemoteURI
in interfaceTransport
- Overrides:
getRemoteURI
in classTcpTransport
- Returns:
- a URI that reflects a meaningful view of the
Transport
remote connection details.
-
createChannelHandler
protected io.netty.channel.ChannelInboundHandlerAdapter createChannelHandler()- Overrides:
createChannelHandler
in classTcpTransport
-
addAdditionalHandlers
protected void addAdditionalHandlers(io.netty.channel.ChannelPipeline pipeline) - Overrides:
addAdditionalHandlers
in classTcpTransport
-
handleConnected
- Overrides:
handleConnected
in classTcpTransport
- Throws:
Exception
-
getScheme
- Overrides:
getScheme
in classTcpTransport
-