package net.northking.cctp.se.debugger.pool;

import net.northking.cctp.se.dto.ATUWebSocketReplay;

import javax.websocket.Session;
import java.io.IOException;

/**
 * 基于WebSocket通讯协议下的调试器线程池
 */
public interface WebSocketDebuggerPool
{
  /**
   * 创建调试器
   *
   * @param session     会话
   * @param deviceToken 设备令牌
   */
  void createDebugger(Session session, String deviceToken) throws IOException;

  /**
   * 销毁调试器
   *
   * @param deviceToken 设备令牌
   */
  void destroyDebugger(String deviceToken);

  /**
   * 开始回放
   *
   * @param deviceToken   设备令牌
   * @param replayRequest 回放请求
   */
  void replayStart(String deviceToken, ATUWebSocketReplay replayRequest);

  /**
   * 停止回放
   *
   * @param deviceToken 设备令牌
   */
  void replayStop(String deviceToken);

}
