Module 
Package org.xnio

Interface XnioIoFactory

    • Method Detail

      • openStreamConnection

        IoFuture<StreamConnection> openStreamConnection​(java.net.SocketAddress destination,
                                                        ChannelListener<? super StreamConnection> openListener,
                                                        OptionMap optionMap)
        Connect to a remote stream server. The protocol family is determined by the type of the socket address given. If an open listener is used, the channel should not be accessed via the returned IoFuture, and vice-versa.
        Parameters:
        destination - the destination address
        openListener - the listener which will be notified when the channel is open, or null for none
        optionMap - the option map
        Returns:
        the future result of this operation
      • openStreamConnection

        IoFuture<StreamConnection> openStreamConnection​(java.net.SocketAddress destination,
                                                        ChannelListener<? super StreamConnection> openListener,
                                                        ChannelListener<? super BoundChannel> bindListener,
                                                        OptionMap optionMap)
        Connect to a remote stream server. The protocol family is determined by the type of the socket address given. If an open listener is used, the channel should not be accessed via the returned IoFuture, and vice-versa.
        Parameters:
        destination - the destination address
        openListener - the listener which will be notified when the channel is open, or null for none
        bindListener - the listener which will be notified when the channel is bound, or null for none
        optionMap - the option map
        Returns:
        the future result of this operation
      • openStreamConnection

        IoFuture<StreamConnection> openStreamConnection​(java.net.SocketAddress bindAddress,
                                                        java.net.SocketAddress destination,
                                                        ChannelListener<? super StreamConnection> openListener,
                                                        ChannelListener<? super BoundChannel> bindListener,
                                                        OptionMap optionMap)
        Connect to a remote stream server. The protocol family is determined by the type of the socket addresses given (which must match). If an open listener is used, the channel should not be accessed via the returned IoFuture, and vice-versa.
        Parameters:
        bindAddress - the local address to bind to
        destination - the destination address
        openListener - the listener which will be notified when the channel is open, or null for none
        bindListener - the listener which will be notified when the channel is bound, or null for none
        optionMap - the option map
        Returns:
        the future result of this operation
      • acceptStreamConnection

        IoFuture<StreamConnection> acceptStreamConnection​(java.net.SocketAddress destination,
                                                          ChannelListener<? super StreamConnection> openListener,
                                                          ChannelListener<? super BoundChannel> bindListener,
                                                          OptionMap optionMap)
        Accept a stream connection at a destination address. If a wildcard address is specified, then a destination address is chosen in a manner specific to the OS and/or channel type.
        Parameters:
        destination - the destination (bind) address
        openListener - the listener which will be notified when the channel is open, or null for none
        bindListener - the listener which will be notified when the acceptor is bound, or null for none
        optionMap - the option map
        Returns:
        the future connection
      • openMessageConnection

        IoFuture<MessageConnection> openMessageConnection​(java.net.SocketAddress destination,
                                                          ChannelListener<? super MessageConnection> openListener,
                                                          OptionMap optionMap)
        Connect to a remote message server. The protocol family is determined by the type of the socket address given. If an open listener is used, the channel should not be accessed via the returned IoFuture, and vice-versa.
        Parameters:
        destination - the destination address
        openListener - the listener which will be notified when the channel is open, or null for none
        optionMap - the option map
        Returns:
        the future result of this operation
      • acceptMessageConnection

        IoFuture<MessageConnection> acceptMessageConnection​(java.net.SocketAddress destination,
                                                            ChannelListener<? super MessageConnection> openListener,
                                                            ChannelListener<? super BoundChannel> bindListener,
                                                            OptionMap optionMap)
        Accept a message connection at a destination address. If a wildcard address is specified, then a destination address is chosen in a manner specific to the OS and/or channel type. If an open listener is used, the channel should not be accessed via the returned IoFuture, and vice-versa.
        Parameters:
        destination - the destination (bind) address
        openListener - the listener which will be notified when the channel is open, or null for none
        bindListener - the listener which will be notified when the acceptor is bound, or null for none
        optionMap - the option map
        Returns:
        the future connection
      • createFullDuplexPipe

        ChannelPipe<StreamChannel,​StreamChannel> createFullDuplexPipe()
                                                                     throws java.io.IOException
        Create a two-way stream pipe.
        Returns:
        the created pipe
        Throws:
        java.io.IOException - if the pipe could not be created
      • createFullDuplexPipeConnection

        ChannelPipe<StreamConnection,​StreamConnection> createFullDuplexPipeConnection()
                                                                                     throws java.io.IOException
        Create a two-way stream pipe.
        Returns:
        the created pipe
        Throws:
        java.io.IOException - if the pipe could not be created
      • createHalfDuplexPipe

        ChannelPipe<StreamSourceChannel,​StreamSinkChannel> createHalfDuplexPipe()
                                                                               throws java.io.IOException
        Create a one-way stream pipe.
        Returns:
        the created pipe
        Throws:
        java.io.IOException - if the pipe could not be created
      • createFullDuplexPipeConnection

        ChannelPipe<StreamConnection,​StreamConnection> createFullDuplexPipeConnection​(XnioIoFactory peer)
                                                                                     throws java.io.IOException
        Create a two-way stream pipe. The left side will be associated with this factory, and the right side will be associated with the given peer.
        Parameters:
        peer - the peer to use for controlling the remote (right) side
        Returns:
        the created pipe
        Throws:
        java.io.IOException - if the pipe could not be created
      • createHalfDuplexPipe

        ChannelPipe<StreamSourceChannel,​StreamSinkChannel> createHalfDuplexPipe​(XnioIoFactory peer)
                                                                               throws java.io.IOException
        Create a one-way stream pipe. The left (source) side will be associated with this factory, and the right (sink) side will be associated with the given peer.
        Parameters:
        peer - the peer to use for the sink (right) side
        Returns:
        the created pipe
        Throws:
        java.io.IOException - if the pipe could not be created