public enum StateMachineEnum extends Enum<StateMachineEnum>
当前枚举的各状态机事件在发生后都会及时触发MessageProcessor.stateEvent(AioSession, StateMachineEnum, Throwable)方法。因此用户在实现的MessageProcessor接口中可对自己关心的状态机事件进行处理。
MessageProcessor| 枚举常量和说明 |
|---|
ACCEPT_EXCEPTION
服务端接受连接异常
|
DECODE_EXCEPTION
协议解码异常。
|
INPUT_EXCEPTION
读操作异常。
|
INPUT_SHUTDOWN
读通道已被关闭。
|
NEW_SESSION
连接已建立并构建Session对象
|
OUTPUT_EXCEPTION
写操作异常。
|
PROCESS_EXCEPTION
业务处理异常。
|
REJECT_ACCEPT
拒绝接受连接,仅Server端有效
|
SESSION_CLOSED
会话关闭成功。
|
SESSION_CLOSING
会话正在关闭中。
|
public static final StateMachineEnum NEW_SESSION
public static final StateMachineEnum INPUT_SHUTDOWN
通常由以下几种情况会触发该状态:
SESSION_CLOSING状态public static final StateMachineEnum PROCESS_EXCEPTION
执行MessageProcessor.process(AioSession, Object)期间发生未捕获的异常。
public static final StateMachineEnum DECODE_EXCEPTION
执行Protocol.decode(ByteBuffer, AioSession)期间发生未捕获的异常。
public static final StateMachineEnum INPUT_EXCEPTION
在底层服务执行read操作期间因发生异常情况触发了CompletionHandler.failed(Throwable, Object)。
public static final StateMachineEnum OUTPUT_EXCEPTION
在底层服务执行write操作期间因发生异常情况触发了CompletionHandler.failed(Throwable, Object)。
public static final StateMachineEnum SESSION_CLOSING
执行了AioSession.close(boolean false)方法,并且当前还存在待输出的数据。
public static final StateMachineEnum SESSION_CLOSED
AioSession关闭成功
public static final StateMachineEnum REJECT_ACCEPT
public static final StateMachineEnum ACCEPT_EXCEPTION
public static StateMachineEnum[] values()
for (StateMachineEnum c : StateMachineEnum.values()) System.out.println(c);
public static StateMachineEnum valueOf(String name)
name - 要返回的枚举常量的名称。IllegalArgumentException - 如果该枚举类型没有带有指定名称的常量NullPointerException - 如果参数为空值Copyright © 2023. All rights reserved.