org.apache.hc.core5.testing.nio

## Class LoggingIOSession

- java.lang.Object
- - org.apache.hc.core5.testing.nio.LoggingIOSession

- All Implemented Interfaces:
    Closeable, AutoCloseable, ByteChannel, Channel, ReadableByteChannel, WritableByteChannel, SocketModalCloseable, ModalCloseable, IOSession, Identifiable

      @Internal
      public class LoggingIOSession
      extends Object
      implements IOSession

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.hc.core5.reactor.IOSession

      `IOSession.Status`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LoggingIOSession(IOSession session, org.slf4j.Logger log, org.slf4j.Logger wireLog)`
    `LoggingIOSession(ProtocolIOSession session, org.slf4j.Logger log)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ByteChannel` | `channel()` Returns the underlying I/O channel associated with this session.
    `void` | `clearEvent(int op)` Clears interest in a particular I/O event type by updating the event mask associated with the session.
    `void` | `close()` Terminates the session gracefully and closes the underlying I/O channel.
    `void` | `close(CloseMode closeMode)` Closes this process or endpoint and releases any system resources associated with it.
    `void` | `enqueue(Command command, Command.Priority priority)` Inserts `Command` at the end of the command queue.
    `int` | `getEventMask()` Returns mask of I/O evens this session declared interest in.
    `IOEventHandler` | `getHandler()` Returns event handler associated with the session.
    `String` | `getId()`
    `long` | `getLastEventTime()` Returns timestamp of the last I/O event including socket timeout reset.
    `long` | `getLastReadTime()` Returns timestamp of the last read event.
    `long` | `getLastWriteTime()` Returns timestamp of the last write event.
    `SocketAddress` | `getLocalAddress()` Returns local address.
    `Lock` | `getLock()` Returns session lock that should be used by I/O event handlers to synchronize access to the session.
    `SocketAddress` | `getRemoteAddress()` Returns address of the remote peer.
    `Timeout` | `getSocketTimeout()` Returns value of the socket timeout in milliseconds.
    `IOSession.Status` | `getStatus()` Returns status of the session:
    `boolean` | `hasCommands()` Tests if there enqueued commands pending execution.
    `boolean` | `isOpen()`
    `Command` | `poll()` Removes first `Command` from the command queue if available.
    `int` | `read(ByteBuffer dst)`
    `void` | `setEvent(int op)` Declares interest in a particular I/O event type by updating the event mask associated with the session.
    `void` | `setEventMask(int ops)` Declares interest in I/O event notifications by setting the event mask associated with the session
    `void` | `setSocketTimeout(Timeout timeout)` Sets value of the socket timeout in milliseconds.
    `String` | `toString()`
    `void` | `updateReadTime()` Updates the timestamp of the last read event
    `void` | `updateWriteTime()` Updates the timestamp of the last write event
    `void` | `upgrade(IOEventHandler handler)` Upgrades event handler associated with the session.
    `int` | `write(ByteBuffer src)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### LoggingIOSession

          public LoggingIOSession(IOSession session,
                          org.slf4j.Logger log,
                          org.slf4j.Logger wireLog)

    - #### LoggingIOSession

          public LoggingIOSession(ProtocolIOSession session,
                          org.slf4j.Logger log)

  - ### Method Detail

    - #### getId

          public String getId()

      Specified by:
        `getId` in interface `Identifiable`

    - #### getLock

          public Lock getLock()

      Description copied from interface: `IOSession`
      Returns session lock that should be used by I/O event handlers to synchronize access to the session.
      Specified by:
        `getLock` in interface `IOSession`

    - #### enqueue

          public void enqueue(Command command,
                     Command.Priority priority)

      Description copied from interface: `IOSession`
      Inserts `Command` at the end of the command queue.
      Specified by:
        `enqueue` in interface `IOSession`

    - #### hasCommands

          public boolean hasCommands()

      Description copied from interface: `IOSession`
      Tests if there enqueued commands pending execution.
      Specified by:
        `hasCommands` in interface `IOSession`

    - #### poll

          public Command poll()

      Description copied from interface: `IOSession`
      Removes first `Command` from the command queue if available.
      Specified by:
        `poll` in interface `IOSession`

    - #### channel

          public ByteChannel channel()

      Description copied from interface: `IOSession`
      Returns the underlying I/O channel associated with this session.
      Specified by:
        `channel` in interface `IOSession`
      Returns:
        the I/O channel.

    - #### getLocalAddress

          public SocketAddress getLocalAddress()

      Description copied from interface: `IOSession`
      Returns local address.
      Specified by:
        `getLocalAddress` in interface `IOSession`
      Returns:
        socket address.

    - #### getRemoteAddress

          public SocketAddress getRemoteAddress()

      Description copied from interface: `IOSession`
      Returns address of the remote peer.
      Specified by:
        `getRemoteAddress` in interface `IOSession`
      Returns:
        socket address.

    - #### getEventMask

          public int getEventMask()

      Description copied from interface: `IOSession`
      Returns mask of I/O evens this session declared interest in.
      Specified by:
        `getEventMask` in interface `IOSession`
      Returns:
        I/O event mask.

    - #### setEventMask

          public void setEventMask(int ops)

      Description copied from interface: `IOSession`
      Declares interest in I/O event notifications by setting the event mask associated with the session
      Specified by:
        `setEventMask` in interface `IOSession`
      Parameters:
        `ops` - new I/O event mask.

    - #### setEvent

          public void setEvent(int op)

      Description copied from interface: `IOSession`
      Declares interest in a particular I/O event type by updating the event mask associated with the session.
      Specified by:
        `setEvent` in interface `IOSession`
      Parameters:
        `op` - I/O event type.

    - #### clearEvent

          public void clearEvent(int op)

      Description copied from interface: `IOSession`
      Clears interest in a particular I/O event type by updating the event mask associated with the session.
      Specified by:
        `clearEvent` in interface `IOSession`
      Parameters:
        `op` - I/O event type.

    - #### close

          public void close()

      Description copied from interface: `IOSession`
      Terminates the session gracefully and closes the underlying I/O channel. This method ensures that session termination handshake, such as the one used by the SSL/TLS protocol, is correctly carried out.
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in interface `Channel`
      Specified by:
        `close` in interface `IOSession`

    - #### getStatus

          public IOSession.Status getStatus()

      Description copied from interface: `IOSession`
      Returns status of the session:

      `IOSession.Status.ACTIVE`: session is active.

      `IOSession.Status.CLOSING`: session is being closed.

      `IOSession.Status.CLOSED`: session has been terminated.

      Specified by:
        `getStatus` in interface `IOSession`
      Returns:
        session status.

    - #### isOpen

          public boolean isOpen()

      Specified by:
        `isOpen` in interface `Channel`

    - #### close

          public void close(CloseMode closeMode)

      Description copied from interface: `ModalCloseable`
      Closes this process or endpoint and releases any system resources associated with it. If the endpoint or the process is already closed then invoking this method has no effect.
      Specified by:
        `close` in interface `ModalCloseable`
      Parameters:
        `closeMode` - How to close the receiver.

    - #### getSocketTimeout

          public Timeout getSocketTimeout()

      Description copied from interface: `IOSession`
      Returns value of the socket timeout in milliseconds. The value of `0` signifies the session cannot time out.
      Specified by:
        `getSocketTimeout` in interface `SocketModalCloseable`
      Specified by:
        `getSocketTimeout` in interface `IOSession`
      Returns:
        socket timeout.

    - #### setSocketTimeout

          public void setSocketTimeout(Timeout timeout)

      Description copied from interface: `IOSession`
      Sets value of the socket timeout in milliseconds. The value of `0` signifies the session cannot time out.

      Please note this operation may affect the last event time.

      Specified by:
        `setSocketTimeout` in interface `SocketModalCloseable`
      Specified by:
        `setSocketTimeout` in interface `IOSession`
      Parameters:
        `timeout` - socket timeout.
      See Also:
        `IOSession.getLastEventTime()`

    - #### read

          public int read(ByteBuffer dst)
                   throws IOException

      Specified by:
        `read` in interface `ReadableByteChannel`
      Throws:
        `IOException`

    - #### write

          public int write(ByteBuffer src)
                    throws IOException

      Specified by:
        `write` in interface `WritableByteChannel`
      Throws:
        `IOException`

    - #### updateReadTime

          public void updateReadTime()

      Description copied from interface: `IOSession`
      Updates the timestamp of the last read event
      Specified by:
        `updateReadTime` in interface `IOSession`

    - #### updateWriteTime

          public void updateWriteTime()

      Description copied from interface: `IOSession`
      Updates the timestamp of the last write event
      Specified by:
        `updateWriteTime` in interface `IOSession`

    - #### getLastReadTime

          public long getLastReadTime()

      Description copied from interface: `IOSession`
      Returns timestamp of the last read event.
      Specified by:
        `getLastReadTime` in interface `IOSession`
      Returns:
        timestamp.

    - #### getLastWriteTime

          public long getLastWriteTime()

      Description copied from interface: `IOSession`
      Returns timestamp of the last write event.
      Specified by:
        `getLastWriteTime` in interface `IOSession`
      Returns:
        timestamp.

    - #### getLastEventTime

          public long getLastEventTime()

      Description copied from interface: `IOSession`
      Returns timestamp of the last I/O event including socket timeout reset.
      Specified by:
        `getLastEventTime` in interface `IOSession`
      Returns:
        timestamp.
      See Also:
        `IOSession.getSocketTimeout()`

    - #### getHandler

          public IOEventHandler getHandler()

      Description copied from interface: `IOSession`
      Returns event handler associated with the session.
      Specified by:
        `getHandler` in interface `IOSession`

    - #### upgrade

          public void upgrade(IOEventHandler handler)

      Description copied from interface: `IOSession`
      Upgrades event handler associated with the session.
      Specified by:
        `upgrade` in interface `IOSession`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2005–2022 The Apache Software Foundation. All rights reserved.