Package rocks.xmpp.nio.netty.net
Class NettyChannelConnection
- java.lang.Object
-
- rocks.xmpp.core.net.AbstractConnection
-
- rocks.xmpp.core.net.TcpConnection
-
- rocks.xmpp.nio.netty.net.NettyChannelConnection
-
- All Implemented Interfaces:
AutoCloseable,Connection,StreamHandler
public class NettyChannelConnection extends TcpConnection
A NIO connection based on Netty.
-
-
Constructor Summary
Constructors Constructor Description NettyChannelConnection(io.netty.channel.Channel channel, StreamHandler streamHandler, Session session, List<ReaderInterceptor> readerInterceptors, Function<Locale,javax.xml.bind.Unmarshaller> unmarshallerSupplier, List<WriterInterceptor> writerInterceptors, Supplier<javax.xml.bind.Marshaller> marshallerSupplier, Consumer<Throwable> onException, ConnectionConfiguration connectionConfiguration)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CompletionStage<Void>closeFuture()static <T> CompletableFuture<T>completableFutureFromNettyFuture(io.netty.util.concurrent.Future<T> future)Converts aFutureto aCompletableFuture.voidcompressConnection(String method, Runnable onSuccess)Compresses the connection.voidflush()InetSocketAddressgetRemoteAddress()booleanisSecure()CompletionStage<Void>open(SessionOpen sessionOpen)voidsecureConnection()CompletionStage<Void>send(StreamElement streamElement)StringtoString()CompletionStage<Void>write(StreamElement streamElement)-
Methods inherited from class rocks.xmpp.core.net.AbstractConnection
close, closeAsync, closeAsync, getConfiguration, getStreamId, handleElement, isClosed, isUsingAcknowledgements
-
-
-
-
Constructor Detail
-
NettyChannelConnection
public NettyChannelConnection(io.netty.channel.Channel channel, StreamHandler streamHandler, Session session, List<ReaderInterceptor> readerInterceptors, Function<Locale,javax.xml.bind.Unmarshaller> unmarshallerSupplier, List<WriterInterceptor> writerInterceptors, Supplier<javax.xml.bind.Marshaller> marshallerSupplier, Consumer<Throwable> onException, ConnectionConfiguration connectionConfiguration)
-
-
Method Detail
-
completableFutureFromNettyFuture
public static <T> CompletableFuture<T> completableFutureFromNettyFuture(io.netty.util.concurrent.Future<T> future)
Converts aFutureto aCompletableFuture.- Type Parameters:
T- The type.- Parameters:
future- The Netty Future.- Returns:
- The
CompletableFuture.
-
getRemoteAddress
public final InetSocketAddress getRemoteAddress()
-
open
public final CompletionStage<Void> open(SessionOpen sessionOpen)
-
send
public final CompletionStage<Void> send(StreamElement streamElement)
-
write
public final CompletionStage<Void> write(StreamElement streamElement)
-
flush
public final void flush()
-
secureConnection
public void secureConnection() throws Exception- Specified by:
secureConnectionin classTcpConnection- Throws:
Exception
-
compressConnection
public final void compressConnection(String method, Runnable onSuccess)
Compresses the connection.- Specified by:
compressConnectionin classTcpConnection- Parameters:
method- The compression method. Supported methods are: "zlib", "deflate" and "gzip".onSuccess- Invoked after the compression method has been chosen, but before compression is applied.- Throws:
IllegalArgumentException- If the compression method is unknown.
-
isSecure
public final boolean isSecure()
-
closeFuture
public final CompletionStage<Void> closeFuture()
-
-