Interface Connection


  • public interface Connection
    The connection used by a channel to write data to.
    • Method Detail

      • createTransportBuffer

        ActiveMQBuffer createTransportBuffer​(int size)
        Create a new ActiveMQBuffer of the given size.
        Parameters:
        size - the size of buffer to create
        Returns:
        the new buffer.
      • isOpen

        boolean isOpen()
      • blockUntilWritable

        default boolean blockUntilWritable​(long timeout,
                                           TimeUnit timeUnit)
        Causes the current thread to wait until the connection is writable unless the specified waiting time elapses. The available capacity of the connection could change concurrently hence this method is suitable to perform precise flow-control only in a single writer case, while its precision decrease inversely proportional with the rate and the number of concurrent writers. If the current thread is not allowed to block the timeout will be ignored dependently on the connection type.
        Parameters:
        timeout - the maximum time to wait
        timeUnit - the time unit of the timeout argument
        Returns:
        true if the connection is writable, false otherwise
        Throws:
        IllegalStateException - if the connection is closed
      • fireReady

        void fireReady​(boolean ready)
      • setAutoRead

        void setAutoRead​(boolean autoRead)
        This will disable reading from the channel. This is basically the same as blocking the reading.
      • getID

        Object getID()
        returns the unique id of this wire.
        Returns:
        the id
      • getEventLoop

        io.netty.channel.EventLoop getEventLoop()
      • write

        void write​(ActiveMQBuffer buffer,
                   boolean requestFlush)
        writes the buffer to the connection and if flush is true request to flush the buffer (and any previous un-flushed ones) into the wire.
        Parameters:
        buffer - the buffer to write
        requestFlush - whether to request flush onto the wire
      • flush

        default void flush()
        Request to flush any previous written buffers into the wire.
      • write

        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.
        Parameters:
        buffer - the buffer to write
        flush - whether to flush the buffers onto the wire
        batched - whether the packet is allowed to batched for better performance
      • write

        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.
        Parameters:
        buffer - the buffer to write
        flush - whether to flush the buffers onto the wire
        batched - whether the packet is allowed to batched for better performance
      • write

        void write​(ActiveMQBuffer buffer)
        writes the buffer to the connection with no flushing or batching
        Parameters:
        buffer - the buffer to write
      • forceClose

        void forceClose()
        This should close the internal channel without calling any listeners. This is to avoid a situation where the broker is busy writing on an internal thread. This should close the socket releasing any pending threads.
      • close

        void close()
        Closes the connection.
      • disconnect

        default void disconnect()
      • getRemoteAddress

        String getRemoteAddress()
        Returns a string representation of the remote address this connection is connected to.
        Returns:
        the remote address
      • getLocalAddress

        String getLocalAddress()
        Returns a string representation of the local address this connection is connected to. This is useful when the server is configured at 0.0.0.0 (or multiple IPs). This will give you the actual IP that's being used.
        Returns:
        the local address
      • checkFlushBatchBuffer

        void checkFlushBatchBuffer()
        Called periodically to flush any data in the batch buffer
      • isDirectDeliver

        boolean isDirectDeliver()
      • getDefaultActiveMQPrincipal

        org.apache.activemq.artemis.core.security.ActiveMQPrincipal getDefaultActiveMQPrincipal()
      • isUsingProtocolHandling

        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
        Returns:
      • getSNIHostName

        default String getSNIHostName()
      • getRouter

        default String getRouter()