public abstract class HeartPlugin<T> extends AbstractPlugin<T>
| 限定符和类型 | 类和说明 |
|---|---|
static interface |
HeartPlugin.TimeoutCallback |
| 构造器和说明 |
|---|
HeartPlugin(int heartRate,
int timeout,
TimeUnit unit)
心跳插件
心跳插件在断网场景可能会触发TCP Retransmission,导致无法感知到网络实际状态,可通过设置timeout关闭连接
|
HeartPlugin(int heartRate,
int timeout,
TimeUnit timeUnit,
HeartPlugin.TimeoutCallback timeoutCallback)
心跳插件
心跳插件在断网场景可能会触发TCP Retransmission,导致无法感知到网络实际状态,可通过设置timeout关闭连接
|
HeartPlugin(int heartRate,
TimeUnit timeUnit)
心跳插件
|
| 限定符和类型 | 方法和说明 |
|---|---|
abstract boolean |
isHeartMessage(AioSession session,
T msg)
判断当前收到的消息是否为心跳消息。
|
boolean |
preProcess(AioSession session,
T t)
对请求消息进行预处理,并决策是否进行后续的MessageProcessor处理。
|
abstract void |
sendHeartRequest(AioSession session)
自定义心跳消息并发送
|
void |
stateEvent(StateMachineEnum stateMachineEnum,
AioSession session,
Throwable throwable)
监听状态机事件
|
afterRead, afterWrite, beforeRead, beforeWrite, shouldAcceptpublic HeartPlugin(int heartRate,
TimeUnit timeUnit)
heartRate - 心跳触发频率timeUnit - heatRate单位public HeartPlugin(int heartRate,
int timeout,
TimeUnit unit)
心跳插件在断网场景可能会触发TCP Retransmission,导致无法感知到网络实际状态,可通过设置timeout关闭连接
heartRate - 心跳触发频率timeout - 消息超时时间unit - 时间单位public HeartPlugin(int heartRate,
int timeout,
TimeUnit timeUnit,
HeartPlugin.TimeoutCallback timeoutCallback)
心跳插件在断网场景可能会触发TCP Retransmission,导致无法感知到网络实际状态,可通过设置timeout关闭连接
heartRate - 心跳触发频率timeout - 消息超时时间public final boolean preProcess(AioSession session, T t)
PluginpreProcess 在接口中 Plugin<T>preProcess 在类中 AbstractPlugin<T>public final void stateEvent(StateMachineEnum stateMachineEnum, AioSession session, Throwable throwable)
PluginstateEvent 在接口中 Plugin<T>stateEvent 在类中 AbstractPlugin<T>MessageProcessor.stateEvent(AioSession, StateMachineEnum, Throwable)public abstract void sendHeartRequest(AioSession session) throws IOException
session - IOExceptionpublic abstract boolean isHeartMessage(AioSession session, T msg)
session - msg - Copyright © 2024. All rights reserved.