Class AioSession

java.lang.Object
org.aoju.bus.socket.AioSession
Direct Known Subclasses:
TcpAioSession, UdpAioSession

public abstract class AioSession extends Object
Since:
Java 17+
Author:
Kimi Liu
  • Field Details

  • Constructor Details

    • AioSession

      public AioSession()
  • Method Details

    • writeBuffer

      public abstract WriteBuffer writeBuffer()
      获取WriteBuffer用以数据输出
      Returns:
      WriteBuffer
    • readBuffer

      public abstract ByteBuffer readBuffer()
      获取读缓冲区对象
    • close

      public final void close()
      强制关闭当前AIOSession。

      若此时还存留待输出的数据,则会导致该部分数据丢失

    • awaitRead

      public abstract void awaitRead()
    • signalRead

      public abstract void signalRead()
      继续触发读行为,该方法仅可在异步处理模式下可使用,否则会触发不可预知的异常
    • close

      public abstract void close(boolean immediate)
      是否立即关闭会话
      Parameters:
      immediate - true:立即关闭,false:响应消息发送完后关闭
    • getSessionID

      public String getSessionID()
      获取当前Session的唯一标识
      Returns:
      sessionId
    • isInvalid

      public boolean isInvalid()
      当前会话是否已失效
      Returns:
      是否失效
    • getAttachment

      public final <A> A getAttachment()
      获取附件对象
      Type Parameters:
      A - 附件对象类型
      Returns:
      附件
    • setAttachment

      public final <A> void setAttachment(A attachment)
      存放附件,支持任意类型
      Type Parameters:
      A - 附件对象类型
      Parameters:
      attachment - 附件对象
    • getLocalAddress

      public abstract InetSocketAddress getLocalAddress() throws IOException
      获取当前会话的本地连接地址
      Returns:
      本地地址
      Throws:
      IOException - IO异常
      See Also:
    • getRemoteAddress

      public abstract InetSocketAddress getRemoteAddress() throws IOException
      获取当前会话的远程连接地址
      Returns:
      远程地址
      Throws:
      IOException - IO异常
      See Also:
    • getInputStream

      public InputStream getInputStream() throws IOException
      获得数据输入流对象。

      faster模式下调用该方法会触发UnsupportedOperationException异常。

      MessageProcessor采用异步处理消息的方式时,调用该方法可能会出现异常。

      Returns:
      输入流
      Throws:
      IOException - IO异常
    • getInputStream

      public InputStream getInputStream(int length) throws IOException
      获取已知长度的InputStream
      Parameters:
      length - InputStream长度
      Returns:
      输入流
      Throws:
      IOException - IO异常