47 lines
968 B
Java
47 lines
968 B
Java
package cn.itcast.server.session;
|
|
|
|
|
|
import io.netty.channel.Channel;
|
|
|
|
/**
|
|
* 会话管理接口
|
|
*/
|
|
public interface Session {
|
|
|
|
/**
|
|
* 绑定会话
|
|
* @param channel 哪个 channel 要绑定会话
|
|
* @param username 会话绑定用户
|
|
*/
|
|
void bind(Channel channel, String username);
|
|
|
|
/**
|
|
* 解绑会话
|
|
* @param channel 哪个 channel 要解绑会话
|
|
*/
|
|
void unbind(Channel channel);
|
|
|
|
/**
|
|
* 获取属性
|
|
* @param channel 哪个 channel
|
|
* @param name 属性名
|
|
* @return 属性值
|
|
*/
|
|
Object getAttribute(Channel channel, String name);
|
|
|
|
/**
|
|
* 设置属性
|
|
* @param channel 哪个 channel
|
|
* @param name 属性名
|
|
* @param value 属性值
|
|
*/
|
|
void setAttribute(Channel channel, String name, Object value);
|
|
|
|
/**
|
|
* 根据用户名获取 channel
|
|
* @param username 用户名
|
|
* @return channel
|
|
*/
|
|
Channel getChannel(String username);
|
|
}
|