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
ConstructorsConstructorDescriptionWebSocketTransport(io.netty.bootstrap.Bootstrap bootstrap, TransportOptions options, SslOptions sslOptions) Create a newWebSocketTransportinstance with the given configuration. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAdditionalHandlers(io.netty.channel.ChannelPipeline pipeline) protected io.netty.channel.ChannelInboundHandlerAdapterReturns 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 Stringprotected voidhandleConnected(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 newWebSocketTransportinstance with the given configuration.- Parameters:
bootstrap- theBootstrapthat this transport's IO is bound to.options- theTransportOptionsused to configure the socket connection.sslOptions- theSslOptionsto use if the options indicate SSL is enabled.
-
-
Method Details
-
write
Description copied from interface:TransportWrites 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:
writein interfaceTransport- Overrides:
writein classTcpTransport- Parameters:
output- The buffer of data that is to be transmitted.onComplete- ARunnablethat is invoked when the IO operation completes successfully.- Returns:
- this
Transportinstance. - Throws:
IOException- if an error occurs during the write operation.
-
writeAndFlush
public WebSocketTransport writeAndFlush(ProtonBuffer output, Runnable onComplete) throws IOException Description copied from interface:TransportWrites a chunk of data over the Transport connection and requests a flush of all pending queued write operations- Specified by:
writeAndFlushin interfaceTransport- Overrides:
writeAndFlushin classTcpTransport- Parameters:
output- The buffer of data that is to be transmitted.onComplete- ARunnablethat is invoked when the IO operation completes successfully.- Returns:
- this
Transportinstance. - Throws:
IOException- if an error occurs during the write operation.
-
getRemoteURI
Description copied from interface:TransportReturns 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:
getRemoteURIin interfaceTransport- Overrides:
getRemoteURIin classTcpTransport- Returns:
- a URI that reflects a meaningful view of the
Transportremote connection details.
-
createChannelHandler
protected io.netty.channel.ChannelInboundHandlerAdapter createChannelHandler()- Overrides:
createChannelHandlerin classTcpTransport
-
addAdditionalHandlers
protected void addAdditionalHandlers(io.netty.channel.ChannelPipeline pipeline) - Overrides:
addAdditionalHandlersin classTcpTransport
-
handleConnected
- Overrides:
handleConnectedin classTcpTransport- Throws:
Exception
-
getScheme
- Overrides:
getSchemein classTcpTransport
-