package com.walker.tcp; import java.util.List; /** * 连接缓存定义,该接口为了集群扩展。 *
* 1) 在负载模式中,连接信息会被存储到Redis中。 ** @author 时克英 * @date 2023-09-19 * @date 2023-09-25 连接信息不能直接缓存,因为涉及到netty链路信息,因此只能把链接基本信息缓存,这个需要通过
ConnectionManager
实现。
*/
public interface ConnectionCache {
/**
* 保存连接到缓存
* @param connection
*/
void putConnection(Connection connection);
/**
* 根据通道ID,删除连接对象。
* @param id
*/
void removeConnection(String id);
void removeConnection(String id, Connection connection);
/**
* 更新连接信息
* @param connection
*/
void updateConnection(Connection connection);
/**
* 根据通道ID,获取连接对象。
* @param id
* @return
*/
Connection getConnection(String id);
/**
* 根据通道绑定的用户名称,获得连接对象。
* @param name
* @return
*/
Connection getConnectionByName(String name);
/**
* 根据连接绑定名称,查找对应通道ID
* @param name
* @return
*/
String getIdByName(String name);
/**
* 返回所有链接集合。
* 该方法在 redis 实现时,会设置最大返回数量。
* @return */ List