Package org.miaixz.bus.socket
Class AioSession
java.lang.Object
org.miaixz.bus.socket.AioSession
- Direct Known Subclasses:
TcpAioSession,UdpAioSession
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final byteSession状态:已关闭protected static final byteSession状态:关闭中protected static final byteSession状态:正常protected byte会话当前状态 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract voidfinal voidclose()强制关闭当前AIOSession。abstract voidclose(boolean immediate) 是否立即关闭会话final <A> A获取附件对象获得数据输入流对象。getInputStream(int length) 获取已知长度的InputStreamabstract InetSocketAddress获取当前会话的本地连接地址abstract InetSocketAddress获取当前会话的远程连接地址获取当前Session的唯一标识boolean当前会话是否已失效abstract ByteBuffer获取读缓冲区对象final <A> voidsetAttachment(A attachment) 存放附件,支持任意类型abstract void继续触发读行为,该方法仅可在异步处理模式下可使用,否则会触发不可预知的异常abstract WriteBuffer获取WriteBuffer用以数据输出
-
Field Details
-
SESSION_STATUS_CLOSED
protected static final byte SESSION_STATUS_CLOSEDSession状态:已关闭- See Also:
-
SESSION_STATUS_CLOSING
protected static final byte SESSION_STATUS_CLOSINGSession状态:关闭中- See Also:
-
SESSION_STATUS_ENABLED
protected static final byte SESSION_STATUS_ENABLEDSession状态:正常- See Also:
-
status
protected byte status会话当前状态- See Also:
-
-
Constructor Details
-
AioSession
public AioSession()
-
-
Method Details
-
writeBuffer
获取WriteBuffer用以数据输出- Returns:
- WriteBuffer
-
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
获取当前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
获取当前会话的本地连接地址- Returns:
- 本地地址
- Throws:
IOException- IO异常- See Also:
-
getRemoteAddress
获取当前会话的远程连接地址- Returns:
- 远程地址
- Throws:
IOException- IO异常- See Also:
-
getInputStream
获得数据输入流对象。faster模式下调用该方法会触发UnsupportedOperationException异常。
MessageProcessor采用异步处理消息的方式时,调用该方法可能会出现异常。
- Returns:
- 输入流
- Throws:
IOException- IO异常
-
getInputStream
获取已知长度的InputStream- Parameters:
length- InputStream长度- Returns:
- 输入流
- Throws:
IOException- IO异常
-