package com.moshi.push.recepsrv.session; import com.moshi.receptionist.remoting.protocol.RemotingCommand; import io.netty.channel.Channel; import io.netty.util.AttributeKey; /** * * 墨仕服务器支撑 * <p>com.moshi.push.recepsrv.session * <p>File: Session.java 创建时间:2014年7月21日下午7:49:13</p> * <p>Title: 会话</p> * <p>Description: Channel的上层封装</p> * <p>Copyright: Copyright (c) 2014 墨仕</p> * <p>Company: 墨仕</p> * <p>模块: 会话</p> * @author 徐剑 * @version 0.0.1 * @history 修订历史(历次修订内容、修订人、修订时间等) */ public interface Session { public static final AttributeKey<Object> APP_TAG = AttributeKey.valueOf("app_tag"); public static final AttributeKey<String> SESSION_NAME=AttributeKey.valueOf("session_name"); public static final AttributeKey<Long> CONNECT_TIMESTAMP=AttributeKey.valueOf("connect_timestamp"); /** * *@name 交付消息 *@Description 相关说明 *@Time 创建时间:2014年7月21日下午7:49:55 * @author 徐剑 *@param message * @history 修订历史(历次修订内容、修订人、修订时间等) */ void deliver(RemotingCommand message); /** * *@name 鉴权与否 *@Description 相关说明 *@Time 创建时间:2014年7月21日下午7:50:20 * @author 徐剑 *@return * @history 修订历史(历次修订内容、修订人、修订时间等) */ boolean isAuthend(); /** * *@name 获取会话名称 *@Description 相关说明 *@Time 创建时间:2014年7月21日下午7:50:37 * @author 徐剑 *@return * @history 修订历史(历次修订内容、修订人、修订时间等) */ String getSessionName(); /** * *@name 获取会话ID *@Description 相关说明 *@Time 创建时间:2014年7月21日下午7:51:01 * @author 徐剑 *@return * @history 修订历史(历次修订内容、修订人、修订时间等) */ String getSessionId(); /** * *@name 交付源数据 *@Description 相关说明 *@Time 创建时间:2014年7月21日下午7:51:17 * @author 徐剑 *@param text * @history 修订历史(历次修订内容、修订人、修订时间等) */ void deliverRawText(String text); /** * *@name 显式的鉴权 *@Description 相关说明 *@Time 创建时间:2014年7月21日下午7:51:31 * @author 徐剑 * @history 修订历史(历次修订内容、修订人、修订时间等) */ void authentication(); /** * *@name 失效与否 *@Description 相关说明 *@Time 创建时间:2014年7月21日下午7:51:56 * @author 徐剑 *@param cycle *@return * @history 修订历史(历次修订内容、修订人、修订时间等) */ boolean isExpire(long cycle); /** * *@name 获取当前闲置次数 *@Description 相关说明 *@Time 创建时间:2014年7月22日下午7:12:34 * @author 徐剑 *@return * @history 修订历史(历次修订内容、修订人、修订时间等) */ int currentIdleTime(); /** * *@name 活跃 *@Description 相关说明 *@Time 创建时间:2014年7月22日下午7:12:54 * @author 徐剑 * @history 修订历史(历次修订内容、修订人、修订时间等) */ void alive(); /** * *@name 闲置 *@Description 相关说明 *@Time 创建时间:2014年7月22日下午7:13:06 * @author 徐剑 * @history 修订历史(历次修订内容、修订人、修订时间等) */ void idle(); /** * *@name 剔除 *@Description 相关说明 *@Time 创建时间:2014年7月22日下午7:13:17 * @author 徐剑 * @history 修订历史(历次修订内容、修订人、修订时间等) */ void kick(); /** * *@name 设置属性 *@Description 相关说明 *@Time 创建时间:2014年7月22日下午7:13:27 * @author 徐剑 *@param key *@param value * @history 修订历史(历次修订内容、修订人、修订时间等) */ void setAtrribute(AttributeKey<Object> key,Object value); /** * *@name 获得属性值 *@Description 相关说明 *@Time 创建时间:2014年7月22日下午7:13:37 * @author 徐剑 *@param key *@return * @history 修订历史(历次修订内容、修订人、修订时间等) */ Object getAttribute(AttributeKey<Object> key); /** * *@name 删除属性 *@Description 相关说明 *@Time 创建时间:2014年7月22日下午7:13:51 * @author 徐剑 *@param key * @history 修订历史(历次修订内容、修订人、修订时间等) */ void removeAttribute(AttributeKey<Object> key); /** * *@name 获取通道 *@Description 相关说明 *@Time 创建时间:2014年7月23日下午3:28:38 * @author 徐剑 *@return * @history 修订历史(历次修订内容、修订人、修订时间等) */ Channel getChannel(); }