| Package | Description |
|---|---|
| org.aoju.bus.socket.origin | |
| org.aoju.bus.socket.origin.plugins |
| Modifier and Type | Method and Description |
|---|---|
AioSession<Request> |
UdpChannel.connect(SocketAddress remote)
建立与远程服务的连接会话,通过AioSession可进行数据传输
|
AioSession<T> |
AioQuickClient.start()
启动客户端
本方法会构建线程数为2的
asynchronousChannelGroup, 并通过调用
AioQuickClient.start(AsynchronousChannelGroup)启动服务 |
AioSession<T> |
AioSSLQuickClient.start(AsynchronousChannelGroup asynchronousChannelGroup) |
AioSession<T> |
AioQuickClient.start(AsynchronousChannelGroup asynchronousChannelGroup)
启动客户端
在与服务端建立连接期间,该方法处于阻塞状态 直至连接建立成功,或者发生异常
该start方法支持外部指定AsynchronousChannelGroup,实现多个客户端共享一组线程池资源,有效提升资源利用率
|
| Modifier and Type | Method and Description |
|---|---|
T |
Protocol.decode(ByteBuffer readBuffer,
AioSession<T> session)
对于从Socket流中获取到的数据采用当前Protocol的实现类协议进行解析
|
void |
Message.join(String group,
AioSession<T> session)
将AioSession加入群组group
|
void |
Message.process(AioSession<T> session,
T msg)
处理接收到的消息
|
void |
NetMonitor.readMonitor(AioSession<T> session,
int readSize)
监控触发本次读回调Session的已读数据字节数
|
void |
Message.remove(AioSession<T> session)
AioSession从所有群组中退出
|
void |
Message.remove(String group,
AioSession<T> session)
将AioSession从群众group中移除
|
void |
Message.stateEvent(AioSession<T> session,
StateMachine stateMachineEnum,
Throwable throwable)
状态机事件,当枚举事件发生时由框架触发该方法
|
void |
NetMonitor.writeMonitor(AioSession<T> session,
int writeSize)
监控触发本次写回调session的已写数据字节数
|
| Modifier and Type | Method and Description |
|---|---|
abstract boolean |
HeartPlugin.isHeartMessage(AioSession<T> session,
T msg)
判断当前收到的消息是否为心跳消息
心跳请求消息与响应消息可能相同,也可能不同,因实际场景而异,故接口定义不做区分
|
boolean |
Plugin.preProcess(AioSession<T> session,
T t)
对请求消息进行预处理,并决策是否进行后续的MessageProcessor处理
若返回false,则当前消息将被忽略
若返回true,该消息会正常秩序MessageProcessor.process.
|
boolean |
MonitorPlugin.preProcess(AioSession<T> session,
T t) |
boolean |
HeartPlugin.preProcess(AioSession<T> session,
T t) |
boolean |
AbstractPlugin.preProcess(AioSession<T> session,
T t) |
void |
AbstractMessage.process(AioSession<T> session,
T msg) |
abstract void |
AbstractMessage.process0(AioSession<T> session,
T msg) |
void |
MonitorPlugin.readMonitor(AioSession<T> session,
int readSize) |
void |
AbstractPlugin.readMonitor(AioSession<T> session,
int readSize) |
void |
AbstractMessage.readMonitor(AioSession<T> session,
int readSize) |
abstract void |
HeartPlugin.sendHeartRequest(AioSession<T> session)
自定义心跳消息并发送
|
void |
AbstractMessage.stateEvent(AioSession<T> session,
StateMachine stateMachineEnum,
Throwable throwable) |
void |
Plugin.stateEvent(StateMachine stateMachine,
AioSession<T> session,
Throwable throwable) |
void |
MonitorPlugin.stateEvent(StateMachine stateMachineEnum,
AioSession<T> session,
Throwable throwable) |
void |
HeartPlugin.stateEvent(StateMachine stateMachineEnum,
AioSession<T> session,
Throwable throwable) |
void |
AbstractPlugin.stateEvent(StateMachine stateMachineEnum,
AioSession<T> session,
Throwable throwable) |
abstract void |
AbstractMessage.stateEvent0(AioSession<T> session,
StateMachine stateMachineEnum,
Throwable throwable) |
void |
MonitorPlugin.writeMonitor(AioSession<T> session,
int writeSize) |
void |
AbstractPlugin.writeMonitor(AioSession<T> session,
int writeSize) |
void |
AbstractMessage.writeMonitor(AioSession<T> session,
int writeSize) |
Copyright © 2019. All rights reserved.