/**
 * Websocket服务实现接口
 */
export interface IWsService {

    /**
     * Websocket客户端连接成功事件响应
     * @param sessionId socket会话ID
     * @param context 客户端连接时所有参数
     */
    onConnected(sessionId: string, context: any);

    /**
     * Websocket断开连接事件响应
     * @param sessionId socket会话ID
     * @param context 客户端连接时所有参数
     */
    onClosed(sessionId: string, context: any);

    /**
     * 接收到新消息响应
     *
     * @param receivedMsg
     * @param sessionId
     */
    onMessage(receivedMsg: any, sessionId: string, context: any);

    /**
     * 添加SessionSocket 连接信息
     * @param sessionId
     * @param websocket
     */
    addSessionSocket(sessionId: any, websocket: any)

    /**
     * 删除SessionSocket 连接信息
     * @param sessionId
     */
    removeSessionSocket(sessionId: any)

    /**
     * 添加Session 上下文信息
     * @param sessionId
     * @param context
     */
    addSessionContext(sessionId: any, context: any)

    /**
     * 通过SessionId 获取上下文内容
     * @param sessionId
     */
    getSessionContext(sessionId: any):any

    /**
     * 删除Session 上下文信息
     * @param sessionId
     */
    removeSessionContext(sessionId: any)

    /**
     * 获取所有的SessionId
     * @param sessionId
     */
    getSessionIds(): Array<string>

}
