Module 

Class FramedMessageChannel

All Implemented Interfaces:
Closeable, AutoCloseable, Channel, InterruptibleChannel, BoundChannel, CloseableChannel, CloseListenerSettable<ConnectedMessageChannel>, Configurable, ConnectedChannel, ConnectedMessageChannel, MessageChannel, ReadableMessageChannel, ReadListenerSettable<ConnectedMessageChannel>, SuspendableChannel, SuspendableReadChannel, SuspendableWriteChannel, WrappedChannel<ConnectedStreamChannel>, WritableMessageChannel, WriteListenerSettable<ConnectedMessageChannel>

Deprecated.
This class is deprecated; use conduits instead.
A connected message channel providing a SASL-style framing layer over a stream channel where each message is prepended by a four-byte length field.
Author:
David M. Lloyd
  • Constructor Details

    • FramedMessageChannel

      public FramedMessageChannel(ConnectedStreamChannel channel, ByteBuffer receiveBuffer, ByteBuffer transmitBuffer)
      Deprecated.
      Construct a new instance.
      Parameters:
      channel - the channel to wrap
      receiveBuffer - the receive buffer (should be direct)
      transmitBuffer - the send buffer (should be direct)
    • FramedMessageChannel

      public FramedMessageChannel(ConnectedStreamChannel channel, Pooled<ByteBuffer> receiveBuffer, Pooled<ByteBuffer> transmitBuffer)
      Deprecated.
      Construct a new instance.
      Parameters:
      channel - the channel to wrap
      receiveBuffer - the receive buffer (should be direct)
      transmitBuffer - the send buffer (should be direct)
  • Method Details

    • receive

      public int receive(ByteBuffer buffer) throws IOException
      Deprecated.
      Receive a message.
      Specified by:
      receive in interface ReadableMessageChannel
      Parameters:
      buffer - the buffer that will hold the message
      Returns:
      the size of the received message, 0 if no message is available, and -1 if the message channel has reached an end-of-file condition
      Throws:
      IOException - if an I/O error occurs
    • receive

      public long receive(ByteBuffer[] buffers) throws IOException
      Deprecated.
      Receive a message.
      Specified by:
      receive in interface ReadableMessageChannel
      Parameters:
      buffers - the buffers that will hold the message
      Returns:
      the size of the received message, 0 if no message is available, and -1 if the message channel has reached an end-of-file condition
      Throws:
      IOException - if an I/O error occurs
    • receive

      public long receive(ByteBuffer[] buffers, int offs, int len) throws IOException
      Deprecated.
      Receive a message.
      Specified by:
      receive in interface ReadableMessageChannel
      Parameters:
      buffers - the buffers that will hold the message
      offs - the offset into the array of buffers of the first buffer to read into
      len - the number of buffers to fill
      Returns:
      the size of the received message, 0 if no message is available, and -1 if the message channel has reached an end-of-file condition
      Throws:
      IOException - if an I/O error occurs
    • shutdownReadsAction

      protected void shutdownReadsAction(boolean writeComplete) throws IOException
      Deprecated.
      Description copied from class: TranslatingSuspendableChannel
      The action to perform when reads are shut down. By default, this method delegates to the underlying channel.
      Overrides:
      shutdownReadsAction in class TranslatingSuspendableChannel<ConnectedMessageChannel,ConnectedStreamChannel>
      Throws:
      IOException - if an error occurs
    • send

      public boolean send(ByteBuffer buffer) throws IOException
      Deprecated.
      Send a complete message.
      Specified by:
      send in interface WritableMessageChannel
      Parameters:
      buffer - the message to send
      Returns:
      the result of the send operation; true if the message was sent, or false if it would block
      Throws:
      IOException - if an I/O error occurs
    • send

      public boolean send(ByteBuffer[] buffers) throws IOException
      Deprecated.
      Send a complete message.
      Specified by:
      send in interface WritableMessageChannel
      Parameters:
      buffers - the buffers holding the message to send
      Returns:
      the result of the send operation; true if the message was sent, or false if it would block
      Throws:
      IOException - if an I/O error occurs
    • send

      public boolean send(ByteBuffer[] buffers, int offs, int len) throws IOException
      Deprecated.
      Send a complete message.
      Specified by:
      send in interface WritableMessageChannel
      Parameters:
      buffers - the buffers holding the message to send
      offs - the offset into the buffer array of the first buffer
      len - the number of buffers that contain data to send
      Returns:
      the result of the send operation; true if the message was sent, or false if it would block
      Throws:
      IOException - if an I/O error occurs
    • sendFinal

      public boolean sendFinal(ByteBuffer buffer) throws IOException
      Deprecated.
      Description copied from interface: WritableMessageChannel
      Send a complete message. If the message was successfully sent the channel with have its writes shutdown.
      Specified by:
      sendFinal in interface WritableMessageChannel
      Parameters:
      buffer - the message to send
      Returns:
      the result of the send operation; true if the message was sent, or false if it would block
      Throws:
      IOException - if an I/O error occurs
    • sendFinal

      public boolean sendFinal(ByteBuffer[] buffers) throws IOException
      Deprecated.
      Description copied from interface: WritableMessageChannel
      Send a complete message. If the message was successfully sent the channel with have its writes shutdown.
      Specified by:
      sendFinal in interface WritableMessageChannel
      Parameters:
      buffers - the buffers holding the message to send
      Returns:
      the result of the send operation; true if the message was sent, or false if it would block
      Throws:
      IOException - if an I/O error occurs
    • sendFinal

      public boolean sendFinal(ByteBuffer[] buffers, int offs, int len) throws IOException
      Deprecated.
      Description copied from interface: WritableMessageChannel
      Send a complete message. If the message was successfully sent the channel with have its writes shutdown.
      Specified by:
      sendFinal in interface WritableMessageChannel
      Parameters:
      buffers - the buffers holding the message to send
      offs - the offset into the buffer array of the first buffer
      len - the number of buffers that contain data to send
      Returns:
      the result of the send operation; true if the message was sent, or false if it would block
      Throws:
      IOException - if an I/O error occurs
    • flushAction

      protected boolean flushAction(boolean shutDown) throws IOException
      Deprecated.
      Description copied from class: TranslatingSuspendableChannel
      The action to perform when the channel is flushed. By default, this method delegates to the underlying channel. If the shutDown parameter is set, and this method returns true, the underlying channel will be shut down and this method will never be called again (future calls to TranslatingSuspendableChannel.flush() will flush the underlying channel until it returns true).
      Overrides:
      flushAction in class TranslatingSuspendableChannel<ConnectedMessageChannel,ConnectedStreamChannel>
      Parameters:
      shutDown - true if the channel's write side has been shut down, false otherwise
      Returns:
      true if the flush succeeded, false if it would block
      Throws:
      IOException - if an error occurs
    • shutdownWritesComplete

      protected void shutdownWritesComplete(boolean readShutDown) throws IOException
      Deprecated.
      Description copied from class: TranslatingSuspendableChannel
      Notification that the channel has successfully flushed after having shut down writes. The underlying channel may not yet be fully flushed at this time.
      Overrides:
      shutdownWritesComplete in class TranslatingSuspendableChannel<ConnectedMessageChannel,ConnectedStreamChannel>
      Parameters:
      readShutDown - true if the read side was already shut down, false otherwise
      Throws:
      IOException - if an error occurs
    • closeAction

      protected void closeAction(boolean readShutDown, boolean writeShutDown) throws IOException
      Deprecated.
      Description copied from class: TranslatingSuspendableChannel
      The action to perform when the channel is closed via the TranslatingSuspendableChannel.close() method. By default, the underlying channel is closed.
      Overrides:
      closeAction in class TranslatingSuspendableChannel<ConnectedMessageChannel,ConnectedStreamChannel>
      Parameters:
      readShutDown - if reads were previously shut down
      writeShutDown - if writes were previously shut down
      Throws:
      IOException - if an error occurs
    • getPeerAddress

      public SocketAddress getPeerAddress()
      Deprecated.
      Get the peer address of this channel.
      Specified by:
      getPeerAddress in interface ConnectedChannel
      Returns:
      the peer address
    • getPeerAddress

      public <A extends SocketAddress> A getPeerAddress(Class<A> type)
      Deprecated.
      Get the peer address of a given type, or null if the address is not of that type.
      Specified by:
      getPeerAddress in interface ConnectedChannel
      Parameters:
      type - the address type class
      Returns:
      the peer address, or null if unknown
    • getLocalAddress

      public SocketAddress getLocalAddress()
      Deprecated.
      Get the local address that this channel is bound to.
      Specified by:
      getLocalAddress in interface BoundChannel
      Returns:
      the local address
    • getLocalAddress

      public <A extends SocketAddress> A getLocalAddress(Class<A> type)
      Deprecated.
      Get the local address of a given type, or null if the address is not of that type.
      Specified by:
      getLocalAddress in interface BoundChannel
      Type Parameters:
      A - the address type
      Parameters:
      type - the address type class
      Returns:
      the local address, or null if unknown
    • getChannel

      public ConnectedStreamChannel getChannel()
      Deprecated.
      Get the underlying channel.
      Specified by:
      getChannel in interface WrappedChannel<ConnectedStreamChannel>
      Overrides:
      getChannel in class TranslatingSuspendableChannel<ConnectedMessageChannel,ConnectedStreamChannel>
      Returns:
      the underlying channel