Modifier and Type | Method and Description |
---|---|
Object |
HttpClientFilter.decode(IoSession session,
Object object) |
Object |
HttpClientFilter.encode(IoSession session,
Object object) |
Object |
WebSocketHandler.onConnect(IoSession session) |
Object |
AsyncHandler.onConnect(IoSession session) |
void |
WebSocketHandler.onDisconnect(IoSession session) |
void |
AsyncHandler.onDisconnect(IoSession session) |
void |
WebSocketHandler.onException(IoSession session,
Exception e) |
void |
AsyncHandler.onException(IoSession session,
Exception e) |
void |
WebSocketHandler.onFlush(IoSession session) |
void |
AsyncHandler.onFlush(IoSession session) |
void |
WebSocketHandler.onIdle(IoSession session) |
void |
AsyncHandler.onIdle(IoSession session) |
Object |
WebSocketHandler.onReceive(IoSession session,
Object obj) |
Object |
AsyncHandler.onReceive(IoSession session,
Object obj) |
void |
WebSocketHandler.onSent(IoSession session,
Object obj) |
void |
AsyncHandler.onSent(IoSession session,
Object obj) |
Modifier and Type | Method and Description |
---|---|
static Object[] |
HttpParser.parser(IoSession session,
Object[] packetMap,
int type,
ByteBufferChannel byteBufferChannel,
int timeout,
long requestMaxSize)
解析 HTTP 报文
解析称 Map 形式,其中:
1.protocol 解析成 key/value 形式
2.header 解析成 key/value 形式
3.cookie 解析成 List[Map[String,String]] 形式
3.part 解析成 List[Map[Stirng,Object]](因为是递归,参考 HTTP 解析形式) 形式
5.body 解析成 key=BODY_VALUE 的Map 元素
|
static Request |
HttpParser.parseRequest(IoSession session,
ByteBufferChannel byteBufferChannel,
int timeOut,
long requestMaxSize)
解析报文成 HttpRequest 对象
|
static Request |
HttpParser.parseRequest(Request request,
IoSession session,
ByteBufferChannel byteBufferChannel,
int timeOut,
long requestMaxSize)
解析报文成 HttpRequest 对象
|
static Response |
HttpParser.parseResponse(IoSession session,
ByteBufferChannel byteBufferChannel,
int timeOut)
解析报文成 HttpResponse 对象
|
static Response |
HttpParser.parseResponse(Response response,
IoSession session,
ByteBufferChannel byteBufferChannel,
int timeOut)
解析报文成 HttpResponse 对象
|
void |
Response.send(IoSession session)
发送数据
|
void |
Request.send(IoSession session)
发送数据
|
Modifier and Type | Method and Description |
---|---|
void |
Part.send(IoSession session,
String boundary) |
Modifier and Type | Method and Description |
---|---|
IoSession |
HttpRequest.getSocketSession()
获取 socket 会话对象
|
IoSession |
HttpSession.getSocketSession()
获取 socket 会话对象
|
IoSession |
HttpResponse.getSocketSession()
获取 socket 会话对象
|
Modifier and Type | Method and Description |
---|---|
void |
WebServerHandler.checkPause(IoSession session,
Request request)
Web 服务暂停检查
如果配置文件指定了 PauseURL 则转到 PauseURL 指定的URL, 否则关闭当前连接
|
Object |
WebServerFilter.decode(IoSession session,
Object object)
将请求ByteBuffer转换成 HttpRequest
|
HttpResponse |
WebServerHandler.disposeHttp(IoSession session,
HttpRequest httpRequest,
HttpResponse httpResponse)
Http 请求响应处理
|
HttpResponse |
WebServerHandler.disposeUpgrade(IoSession session,
HttpRequest httpRequest,
HttpResponse httpResponse) |
WebSocketFrame |
WebServerHandler.disposeWebSocket(IoSession session,
WebSocketFrame webSocketFrame)
WebSocket 帧处理
|
Object |
WebServerFilter.encode(IoSession session,
Object object)
将HttpResponse转换成ByteBuffer
|
void |
WebSocketDispatcher.fireCloseEvent(IoSession session)
出发 Close 事件
|
WebSocketFrame |
WebSocketDispatcher.fireOpenEvent(IoSession session,
HttpRequest request)
触发 WebSocket Open 事件
|
WebSocketFrame |
WebSocketDispatcher.firePingEvent(IoSession session,
HttpRequest request,
ByteBuffer byteBuffer)
触发 WebSocket Ping 事件
|
void |
WebSocketDispatcher.firePoneEvent(IoSession session,
HttpRequest request,
ByteBuffer byteBuffer)
触发 WebSocket Pone 事件
|
WebSocketFrame |
WebSocketDispatcher.fireReceivedEvent(IoSession session,
HttpRequest request,
ByteBuffer byteBuffer)
触发 WebSocket Received 事件
|
void |
WebSocketDispatcher.fireSentEvent(IoSession session,
HttpRequest request,
ByteBuffer byteBuffer)
触发 WebSocket Sent 事件
|
static HttpSessionState |
WebServerHandler.getAttachment(IoSession session) |
void |
HttpRequest.init(Request request,
String characterSet,
IoSession socketSession) |
void |
HttpSession.init(SessionManager sessionManager,
IoSession socketSession)
用于从会话池中取出的会话实例化
|
void |
HttpResponse.init(String characterSet,
IoSession socketSession) |
Object |
WebServerHandler.onConnect(IoSession session) |
void |
WebServerHandler.onDisconnect(IoSession session) |
void |
WebServerHandler.onException(IoSession session,
Exception e) |
void |
WebServerHandler.onFlush(IoSession session) |
void |
WebServerHandler.onIdle(IoSession session) |
Object |
WebServerHandler.onReceive(IoSession session,
Object obj) |
void |
WebServerHandler.onSent(IoSession session,
Object obj) |
WebSocketFrame |
WebSocketDispatcher.process(WebSocketDispatcher.WebSocketEvent event,
IoSession session,
HttpRequest request,
ByteBuffer byteBuffer)
路由处理函数
|
protected void |
HttpRequest.setSocketSession(IoSession socketSession)
设置 socket 会话对象
|
void |
HttpSession.setSocketSession(IoSession socketSession)
设置 socket 会话对象
|
protected void |
HttpResponse.setSocketSession(IoSession socketSession)
设置 socket 会话对象
|
Constructor and Description |
---|
HttpRequest(Request request,
String characterSet,
IoSession socketSession)
构造函数
|
HttpRequest(String characterSet,
IoSession socketSession)
构造函数
|
HttpResponse(Response response,
String characterSet,
IoSession socketSession)
构造 HTTP 响应对象
|
HttpResponse(String characterSet,
IoSession socketSession)
构造 HTTP 响应对象
|
HttpSession(WebServerConfig config,
SessionManager sessionManager,
IoSession socketSession)
构造函数
|
Modifier and Type | Method and Description |
---|---|
protected IoSession |
WebSocketSession.getSocketSession() |
Modifier and Type | Method and Description |
---|---|
void |
WebSocketSession.setSocketSession(IoSession socketSession) |
Constructor and Description |
---|
WebSocketSession(IoSession socketSession,
WebSocketRouter webSocketRouter,
WebSocketType webSocketType)
构造函数
|
Modifier and Type | Class and Description |
---|---|
class |
SocketContext<C extends SelectableChannel,S extends IoSession>
socket 上下文
|
Modifier and Type | Method and Description |
---|---|
IoSession |
Event.getSession() |
Modifier and Type | Method and Description |
---|---|
static HeartBeat |
HeartBeat.attachSession(IoSession session,
int connectModel)
将心跳绑定到 Session
默认使用 PING, PONG 作为心跳消息
|
static HeartBeat |
HeartBeat.attachSession(IoSession session,
String ping,
String pong)
将心跳绑定到 Session
|
static boolean |
HeartBeat.beat(IoSession session)
一次心跳动作
|
int |
MessageSplitter.canSplite(IoSession session,
ByteBuffer byteBuffer)
判断消息是否可分割
分割处理: 这个时候返回长度需要大于 0, 这个时候 session.getByteBuffer 中的数据会被分割, 然后传递给 IoFilter
流式处理: 用户 http/1.1 等协议解析, 这个时候返回长度需要等于0, 则数据不会被分割, 所有数据都在 session.getByteBuffer 中, 这个时候数据可以在 IoFilter 中进行处理,
这个时候 IoFilter 接收到的是一个容量为 0 的 bytebuffer
|
SSLParser |
SSLManager.createClientSSLParser(IoSession session)
获取SSLParser
|
SSLParser |
SSLManager.createServerSSLParser(IoSession session)
获取Server 模式 SSLParser
|
Object |
IoFilter.decode(IoSession session,
Object object)
过滤器解密函数,接收事件(onRecive)前调用
如果任何一个过滤器返回的是null, 则它后面的过滤器不会被执行, 且不会执行 onRevcive
|
static Object |
EventProcess.doRecive(IoSession session,
int splitLength)
接收的消息处理函数
|
Object |
IoFilter.encode(IoSession session,
Object object)
过滤器加密函数,发送事件(onSend)前后用
send事件后调用
|
static Object |
EventProcess.filterDecoder(IoSession session,
ByteBuffer readedBuffer)
使用过滤器过滤解码结果
|
static ByteBuffer |
EventProcess.filterEncoder(IoSession session,
Object result)
使用过滤器编码结果
|
static void |
EventTrigger.fire(IoSession session,
Event.EventName name,
Object other)
事件触发
根据事件启动 EventThread 来处理事件
|
static void |
EventTrigger.fireAccept(IoSession session) |
static void |
EventTrigger.fireAcceptAsync(IoSession session) |
static void |
EventTrigger.fireConnect(IoSession session) |
static void |
EventTrigger.fireConnectAsync(IoSession session) |
static void |
EventTrigger.fireDisconnect(IoSession session) |
static void |
EventTrigger.fireDisconnectAsync(IoSession session) |
static void |
EventTrigger.fireEvent(IoSession session,
Event.EventName name,
Object other)
事件触发
根据事件启动 EventThread 来处理事件
|
static void |
EventTrigger.fireException(IoSession session,
Exception exception) |
static void |
EventTrigger.fireExceptionAsync(IoSession session,
Exception exception) |
static void |
EventTrigger.fireFlush(IoSession session) |
static void |
EventTrigger.fireFlushAsync(IoSession session) |
static void |
EventTrigger.fireIdle(IoSession session) |
static void |
EventTrigger.fireIdleAsync(IoSession session) |
static void |
EventTrigger.fireReceive(IoSession session) |
static void |
EventTrigger.fireReceiveAsync(IoSession session) |
static void |
EventTrigger.fireSent(IoSession session,
Object obj) |
static void |
EventTrigger.fireSentAsync(IoSession session,
Object obj) |
static Event |
Event.getInstance(IoSession session,
Event.EventName name,
Object other)
活的新的实例
|
void |
Event.init(IoSession session,
Event.EventName name,
Object other)
构造函数
|
protected void |
SocketContext.initSSL(IoSession session) |
static boolean |
HeartBeat.interceptHeartBeat(IoSession session)
截断心跳消息
|
static boolean |
SSLParser.isHandShakeDone(IoSession session)
判断给定的会话握手是否完成
|
int |
SocketSelector.loadAndPrepare(IoSession session,
int readSize)
数据读取
|
static ByteBuffer |
EventProcess.loadSplitData(IoSession session,
int splitLength)
读取分割方法
|
Object |
IoHandler.onConnect(IoSession session)
连接成功事件
|
void |
IoHandler.onDisconnect(IoSession session)
连接断开事件
|
void |
IoHandler.onException(IoSession session,
Exception e)
异常事件
|
void |
IoHandler.onFlush(IoSession session)
Socket 缓冲区发送事件
|
void |
IoHandler.onIdle(IoSession session)
空闲事件
|
Object |
IoHandler.onReceive(IoSession session,
Object obj)
接收数据事件
|
void |
IoHandler.onSent(IoSession session,
Object obj)
发送数据事件
发送后调用
|
static void |
EventProcess.sendMessage(IoSession session,
Object obj)
在一个独立的线程中并行的发送消息
|
void |
Event.setSession(IoSession session) |
Constructor and Description |
---|
Event(IoSession session,
Event.EventName name,
Object other)
构造函数
|
MessageLoader(IoSession session)
构造函数
|
SSLParser(SSLEngine engine,
IoSession session)
构造函数
|
Modifier and Type | Method and Description |
---|---|
Object |
CipherFilter.decode(IoSession session,
Object object) |
Object |
ZipFilter.decode(IoSession session,
Object object) |
Object |
ByteFilter.decode(IoSession session,
Object object) |
Object |
StringFilter.decode(IoSession session,
Object object) |
Object |
CipherFilter.encode(IoSession session,
Object object) |
Object |
ZipFilter.encode(IoSession session,
Object object) |
Object |
ByteFilter.encode(IoSession session,
Object object) |
Object |
StringFilter.encode(IoSession session,
Object object) |
Modifier and Type | Method and Description |
---|---|
Object |
SynchronousHandler.onConnect(IoSession session) |
void |
SynchronousHandler.onDisconnect(IoSession session) |
void |
SynchronousHandler.onException(IoSession session,
Exception e) |
void |
SynchronousHandler.onFlush(IoSession session) |
void |
SynchronousHandler.onIdle(IoSession session) |
Object |
SynchronousHandler.onReceive(IoSession session,
Object obj) |
void |
SynchronousHandler.onSent(IoSession session,
Object obj) |
Modifier and Type | Method and Description |
---|---|
int |
HttpMessageSplitter.canSplite(IoSession session,
ByteBuffer byteBuffer) |
int |
LineMessageSplitter.canSplite(IoSession session,
ByteBuffer byteBuffer) |
int |
ByteMessageSplitter.canSplite(IoSession session,
ByteBuffer byteBuffer) |
int |
BufferLengthSplitter.canSplite(IoSession session,
ByteBuffer byteBuffer) |
int |
TransferSplitter.canSplite(IoSession session,
ByteBuffer byteBuffer) |
int |
TimeOutMesssageSplitter.canSplite(IoSession session,
ByteBuffer byteBuffer) |
Modifier and Type | Class and Description |
---|---|
class |
TcpSession
NIO 会话连接对象
|
Modifier and Type | Class and Description |
---|---|
class |
UdpSession
UDP NIO 会话连接对象
|
Copyright © 2020 Voovan. All rights reserved.