| 限定符和类型 | 类和说明 |
|---|---|
class |
ClientChannelContext |
| 限定符和类型 | 字段和说明 |
|---|---|
SetWithLock<ChannelContext> |
ClientTioConfig.closeds |
SetWithLock<ChannelContext> |
ClientTioConfig.connecteds |
| 限定符和类型 | 方法和说明 |
|---|---|
LinkedBlockingQueue<ChannelContext> |
ReconnConf.getQueue() |
| 限定符和类型 | 方法和说明 |
|---|---|
static ReconnConf |
ReconnConf.getReconnConf(ChannelContext channelContext) |
| 限定符和类型 | 方法和说明 |
|---|---|
Packet |
ClientAioHandler.heartbeatPacket(ChannelContext channelContext)
创建心跳包
|
| 限定符和类型 | 字段和说明 |
|---|---|
SetWithLock<ChannelContext> |
TioConfig.connections |
| 限定符和类型 | 方法和说明 |
|---|---|
static ChannelContext |
Tio.getByBsId(TioConfig tioConfig,
String bsId)
根据业务id找ChannelContext
|
static ChannelContext |
Tio.getByChannelContextId(TioConfig tioConfig,
String channelContextId)
根据ChannelContext.id获取ChannelContext
|
static ChannelContext |
Tio.getByClientNode(TioConfig tioConfig,
String clientIp,
Integer clientPort)
根据clientip和clientport获取ChannelContext
|
static ChannelContext |
Tio.getChannelContextByBsId(TioConfig tioConfig,
String bsId)
已过时。
用getByBsId(TioConfig tioConfig, String bsId)
|
static ChannelContext |
Tio.getChannelContextByClientNode(TioConfig tioConfig,
String clientIp,
Integer clientPort)
已过时。
getByClientNode(tioConfig, clientIp, clientPort)
|
static ChannelContext |
Tio.getChannelContextById(TioConfig tioConfig,
String channelContextId)
已过时。
用getByChannelContextId(tioConfig, channelContextId)
|
| 限定符和类型 | 方法和说明 |
|---|---|
static SetWithLock<ChannelContext> |
Tio.getAll(TioConfig tioConfig)
获取所有连接,包括当前处于断开状态的
|
static SetWithLock<ChannelContext> |
Tio.getAllChannelContexts(TioConfig tioConfig)
已过时。
用getAll(TioConfig tioConfig)
|
static SetWithLock<ChannelContext> |
Tio.getAllConnectedsChannelContexts(ClientTioConfig clientTioConfig)
已过时。
用getAllConnecteds(ClientTioConfig clientTioConfig)
|
static SetWithLock<ChannelContext> |
Tio.getByGroup(TioConfig tioConfig,
String group)
获取一个组的所有客户端
|
static SetWithLock<ChannelContext> |
Tio.getByToken(TioConfig tioConfig,
String token)
根据token获取SetWithLock
|
static SetWithLock<ChannelContext> |
Tio.getByUserid(TioConfig tioConfig,
String userid)
根据userid获取SetWithLock
|
static SetWithLock<ChannelContext> |
Tio.getChannelContextsByGroup(TioConfig tioConfig,
String group)
已过时。
用getByGroup(tioConfig, group)
|
static SetWithLock<ChannelContext> |
Tio.getChannelContextsByToken(TioConfig tioConfig,
String token)
已过时。
用getByToken(tioConfig, token)
|
static SetWithLock<ChannelContext> |
Tio.getChannelContextsByUserid(TioConfig tioConfig,
String userid)
已过时。
用getByUserid(tioConfig, userid)
|
static SetWithLock<ChannelContext> |
Tio.getConnecteds(ClientTioConfig clientTioConfig)
此API仅供 tio client使用
获取所有处于正常连接状态的连接
|
static Page<ChannelContext> |
Tio.getPageOfAll(TioConfig tioConfig,
Integer pageIndex,
Integer pageSize) |
static Page<ChannelContext> |
Tio.getPageOfConnecteds(ClientTioConfig clientTioConfig,
Integer pageIndex,
Integer pageSize)
这个方法是给客户器端用的
|
static Page<ChannelContext> |
Tio.getPageOfGroup(TioConfig tioConfig,
String group,
Integer pageIndex,
Integer pageSize) |
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
Tio.bindBsId(ChannelContext channelContext,
String bsId)
绑定业务id
|
static void |
Tio.bindGroup(ChannelContext channelContext,
String group)
绑定群组
|
static void |
Tio.bindToken(ChannelContext channelContext,
String token)
绑定token
|
static void |
Tio.bindUser(ChannelContext channelContext,
String userid)
绑定用户
|
static Boolean |
Tio.bSend(ChannelContext channelContext,
Packet packet)
阻塞发送消息到指定ChannelContext
|
static void |
Tio.close(ChannelContext channelContext,
String remark)
关闭连接
|
static void |
Tio.close(ChannelContext channelContext,
String remark,
ChannelContext.CloseCode closeCode) |
static void |
Tio.close(ChannelContext channelContext,
Throwable throwable,
String remark)
关闭连接
|
static void |
Tio.close(ChannelContext channelContext,
Throwable throwable,
String remark,
boolean isNeedRemove) |
static void |
Tio.close(ChannelContext channelContext,
Throwable throwable,
String remark,
boolean isNeedRemove,
boolean needCloseLock) |
static void |
Tio.close(ChannelContext channelContext,
Throwable throwable,
String remark,
boolean isNeedRemove,
boolean needCloseLock,
ChannelContext.CloseCode closeCode) |
static void |
Tio.close(ChannelContext channelContext,
Throwable throwable,
String remark,
boolean isNeedRemove,
ChannelContext.CloseCode closeCode) |
static void |
Tio.close(ChannelContext channelContext,
Throwable throwable,
String remark,
ChannelContext.CloseCode closeCode) |
Packet |
PacketConverter.convert(Packet packet,
ChannelContext channelContext) |
boolean |
ChannelContextFilter.filter(ChannelContext channelContext)
过滤ChannelContext
|
static boolean |
Tio.isInGroup(String group,
ChannelContext channelContext)
某通道是否在某群组中
|
void |
DefaultAioListener.onAfterConnected(ChannelContext channelContext,
boolean isConnected,
boolean isReconnect) |
void |
DefaultAioListener.onAfterDecoded(ChannelContext channelContext,
Packet packet,
int packetSize) |
void |
DefaultAioListener.onAfterHandled(ChannelContext channelContext,
Packet packet,
long cost) |
void |
DefaultAioListener.onAfterReceivedBytes(ChannelContext channelContext,
int receivedBytes) |
void |
DefaultAioListener.onAfterSent(ChannelContext channelContext,
Packet packet,
boolean isSentSuccess) |
void |
DefaultAioListener.onBeforeClose(ChannelContext channelContext,
Throwable throwable,
String remark,
boolean isRemove) |
boolean |
DefaultAioListener.onHeartbeatTimeout(ChannelContext channelContext,
Long interval,
int heartbeatTimeoutCount) |
static void |
Tio.remove(ChannelContext channelContext,
String remark) |
static void |
Tio.remove(ChannelContext channelContext,
String remark,
ChannelContext.CloseCode closeCode)
和close方法对应,只不过不再进行重连等维护性的操作
|
static void |
Tio.remove(ChannelContext channelContext,
Throwable throwable,
String remark)
和close方法对应,只不过不再进行重连等维护性的操作
|
static void |
Tio.remove(ChannelContext channelContext,
Throwable throwable,
String remark,
ChannelContext.CloseCode closeCode)
和close方法对应,只不过不再进行重连等维护性的操作
|
static Boolean |
Tio.send(ChannelContext channelContext,
Packet packet)
发送消息到指定ChannelContext
|
static Packet |
Tio.synSend(ChannelContext channelContext,
Packet packet,
long timeout)
发送并等待响应.
|
static void |
Tio.unbindBsId(ChannelContext channelContext)
解绑业务id
|
static void |
Tio.unbindGroup(ChannelContext channelContext)
与所有组解除解绑关系
|
static void |
Tio.unbindGroup(String group,
ChannelContext channelContext)
与指定组解除绑定关系
|
static void |
Tio.unbindToken(ChannelContext channelContext)
解除channelContext绑定的token
|
static void |
Tio.unbindUser(ChannelContext channelContext)
解除channelContext绑定的userid
|
| 限定符和类型 | 方法和说明 |
|---|---|
static Boolean |
Tio.bSendToSet(TioConfig tioConfig,
SetWithLock<ChannelContext> setWithLock,
Packet packet,
ChannelContextFilter channelContextFilter)
发消息到指定集合
|
static void |
Tio.sendToSet(TioConfig tioConfig,
SetWithLock<ChannelContext> setWithLock,
Packet packet,
ChannelContextFilter channelContextFilter)
发消息到指定集合
|
| 构造器和说明 |
|---|
ReadCompletionHandler(ChannelContext channelContext) |
WriteCompletionHandler(ChannelContext channelContext) |
| 限定符和类型 | 方法和说明 |
|---|---|
Packet |
AioHandler.decode(ByteBuffer buffer,
int limit,
int position,
int readableLength,
ChannelContext channelContext)
根据ByteBuffer解码成业务需要的Packet对象.
|
ByteBuffer |
AioHandler.encode(Packet packet,
TioConfig tioConfig,
ChannelContext channelContext)
编码
|
void |
AioHandler.handler(Packet packet,
ChannelContext channelContext)
处理消息包
|
void |
GroupListener.onAfterBind(ChannelContext channelContext,
String group)
绑定群组后回调该方法
|
void |
AioListener.onAfterConnected(ChannelContext channelContext,
boolean isConnected,
boolean isReconnect)
建链后触发本方法,注:建链不一定成功,需要关注参数isConnected
|
void |
AioListener.onAfterDecoded(ChannelContext channelContext,
Packet packet,
int packetSize)
原方法名:onAfterDecoded
解码成功后触发本方法
|
void |
AioListener.onAfterHandled(ChannelContext channelContext,
Packet packet,
long cost)
处理一个消息包后
|
void |
AioListener.onAfterReceivedBytes(ChannelContext channelContext,
int receivedBytes)
接收到TCP层传过来的数据后
|
void |
PacketListener.onAfterSent(ChannelContext channelContext,
Packet packet,
boolean isSentSuccess) |
void |
AioListener.onAfterSent(ChannelContext channelContext,
Packet packet,
boolean isSentSuccess)
消息包发送之后触发本方法
|
void |
GroupListener.onAfterUnbind(ChannelContext channelContext,
String group)
解绑群组后回调该方法
|
void |
AioListener.onBeforeClose(ChannelContext channelContext,
Throwable throwable,
String remark,
boolean isRemove)
连接关闭前触发本方法
|
| 限定符和类型 | 方法和说明 |
|---|---|
ChannelContext |
ClientNodes.find(String key) |
ChannelContext |
ClientNodes.find(String ip,
int port) |
ChannelContext |
Ids.find(TioConfig tioConfig,
String id)
Find.
|
ChannelContext |
BsIds.find(TioConfig tioConfig,
String bsId) |
| 限定符和类型 | 方法和说明 |
|---|---|
SetWithLock<ChannelContext> |
Ips.clients(TioConfig tioConfig,
String ip)
一个ip有哪些客户端,有可能返回null
|
SetWithLock<ChannelContext> |
Groups.clients(TioConfig tioConfig,
String groupid)
一个组有哪些客户端
|
static Set<ChannelContext> |
MaintainUtils.createSet(Comparator<ChannelContext> comparator) |
SetWithLock<ChannelContext> |
Users.find(TioConfig tioConfig,
String userid)
Find.
|
SetWithLock<ChannelContext> |
Tokens.find(TioConfig tioConfig,
String token)
Find.
|
Comparator<ChannelContext> |
Groups.getChannelContextComparator() |
MapWithLock<String,SetWithLock<ChannelContext>> |
Groups.getGroupmap() |
MapWithLock<String,SetWithLock<ChannelContext>> |
Ips.getIpmap() |
MapWithLock<String,SetWithLock<ChannelContext>> |
Users.getMap() |
MapWithLock<String,SetWithLock<ChannelContext>> |
Tokens.getMap() |
MapWithLock<String,ChannelContext> |
Ids.getMap() |
MapWithLock<String,ChannelContext> |
BsIds.getMap() |
MapWithLock<String,ChannelContext> |
ClientNodes.getObjWithLock() |
| 限定符和类型 | 方法和说明 |
|---|---|
IpStat |
IpStats._get(Long duration,
ChannelContext channelContext,
boolean forceCreate,
boolean useProxyClient) |
void |
Ips.bind(ChannelContext channelContext)
和ip绑定
|
void |
Ids.bind(ChannelContext channelContext) |
void |
BsIds.bind(ChannelContext channelContext,
String bsId) |
void |
Users.bind(String userid,
ChannelContext channelContext)
绑定userid.
|
void |
Tokens.bind(String token,
ChannelContext channelContext)
绑定token.
|
void |
Groups.bind(String groupid,
ChannelContext channelContext)
和组绑定
|
void |
Groups.bind(String groupid,
ChannelContext channelContext,
boolean callbackListener)
和组绑定
|
static void |
MaintainUtils.close(ChannelContext channelContext) |
static void |
MaintainUtils.deleteTempDir(ChannelContext channelContext) |
IpStat |
IpStats.get(Long duration,
ChannelContext channelContext)
根据ip获取IpStat,如果缓存中不存在,则创建
|
IpStat |
IpStats.get(Long duration,
ChannelContext channelContext,
boolean forceCreate)
根据ip获取IpStat,如果缓存中不存在,则根据forceCreate的值决定是否创建
|
static String |
ClientNodes.getKey(ChannelContext channelContext) |
SetWithLock<String> |
Groups.groups(ChannelContext channelContext)
某个客户端在哪些组中
|
void |
ClientNodes.put(ChannelContext channelContext)
添加映射
|
static void |
MaintainUtils.remove(ChannelContext channelContext)
彻底删除,不再维护
|
void |
ClientNodes.remove(ChannelContext channelContext)
Removes映射
|
static File |
MaintainUtils.tempDir(ChannelContext channelContext,
boolean forceCreate) |
static File |
MaintainUtils.tempReceivedFile(ChannelContext channelContext) |
static File |
MaintainUtils.tempWriteFile(ChannelContext channelContext) |
void |
Users.unbind(ChannelContext channelContext)
解除channelContext绑定的userid
|
void |
Tokens.unbind(ChannelContext channelContext)
解除channelContext绑定的token
|
void |
Ips.unbind(ChannelContext channelContext)
与指定ip解除绑定
|
void |
Ids.unbind(ChannelContext channelContext) |
void |
Groups.unbind(ChannelContext channelContext)
与所有组解除绑定
|
void |
BsIds.unbind(ChannelContext channelContext) |
void |
Groups.unbind(ChannelContext channelContext,
boolean callbackListener) |
void |
Groups.unbind(String groupid,
ChannelContext channelContext)
与指定组解除绑定
|
void |
Groups.unbind(String groupid,
ChannelContext channelContext,
boolean deleteFromChannelContext)
与指定组解除绑定
|
void |
Groups.unbind(String groupid,
ChannelContext channelContext,
boolean deleteFromChannelContext,
boolean callbackListener) |
| 限定符和类型 | 方法和说明 |
|---|---|
static Set<ChannelContext> |
MaintainUtils.createSet(Comparator<ChannelContext> comparator) |
void |
Groups.setChannelContextComparator(Comparator<ChannelContext> channelContextComparator) |
| 限定符和类型 | 方法和说明 |
|---|---|
ChannelContext |
SslFacadeContext.getChannelContext() |
| 构造器和说明 |
|---|
SslFacadeContext(ChannelContext channelContext) |
SslHandshakeCompletedListener(ChannelContext channelContext) |
SslListener(ChannelContext channelContext) |
SslSessionClosedListener(ChannelContext channelContext) |
| 构造器和说明 |
|---|
SSLFacade(ChannelContext channelContext,
SSLContext context,
boolean client,
boolean clientAuthRequired,
ITaskHandler taskHandler) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
IpStatListener.onAfterConnected(ChannelContext channelContext,
boolean isConnected,
boolean isReconnect,
IpStat ipStat)
建链后触发本方法,注:建链不一定成功,需要关注参数isConnected
|
void |
DefaultIpStatListener.onAfterConnected(ChannelContext channelContext,
boolean isConnected,
boolean isReconnect,
IpStat ipStat) |
void |
IpStatListener.onAfterDecoded(ChannelContext channelContext,
Packet packet,
int packetSize,
IpStat ipStat)
解码成功后
|
void |
DefaultIpStatListener.onAfterDecoded(ChannelContext channelContext,
Packet packet,
int packetSize,
IpStat ipStat) |
void |
IpStatListener.onAfterHandled(ChannelContext channelContext,
Packet packet,
IpStat ipStat,
long cost)
处理一个消息包后
|
void |
DefaultIpStatListener.onAfterHandled(ChannelContext channelContext,
Packet packet,
IpStat ipStat,
long cost) |
void |
IpStatListener.onAfterReceivedBytes(ChannelContext channelContext,
int receivedBytes,
IpStat ipStat)
接收到一些字节数据后
|
void |
DefaultIpStatListener.onAfterReceivedBytes(ChannelContext channelContext,
int receivedBytes,
IpStat ipStat) |
void |
IpStatListener.onAfterSent(ChannelContext channelContext,
Packet packet,
boolean isSentSuccess,
IpStat ipStat)
发送后(注:不一定会发送成功)
|
void |
DefaultIpStatListener.onAfterSent(ChannelContext channelContext,
Packet packet,
boolean isSentSuccess,
IpStat ipStat) |
void |
IpStatListener.onDecodeError(ChannelContext channelContext,
IpStat ipStat)
解码异常时
|
void |
DefaultIpStatListener.onDecodeError(ChannelContext channelContext,
IpStat ipStat) |
| 限定符和类型 | 方法和说明 |
|---|---|
FullWaitQueue<ChannelContext> |
CloseRunnable.getMsgQueue() |
| 构造器和说明 |
|---|
DecodeRunnable(ChannelContext channelContext,
Executor executor) |
HandlerRunnable(ChannelContext channelContext,
Executor executor) |
SendRunnable(ChannelContext channelContext,
Executor executor) |
| 限定符和类型 | 方法和说明 |
|---|---|
static boolean |
TioUtils.checkBeforeIO(ChannelContext channelContext) |
| 限定符和类型 | 类和说明 |
|---|---|
class |
ServerChannelContext |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
ServerAioListener.onHeartbeatTimeout(ChannelContext channelContext,
Long interval,
int heartbeatTimeoutCount)
服务器检查到心跳超时时,会调用这个函数(一般场景,该方法只需要直接返回false即可)
|
Copyright © 2019. All rights reserved.