using APT.BaseData.Domain.Entities;
using APT.Infrastructure.Api;
using APT.Infrastructure.Core;
using System;
using APT.Infrastructure.Api;
namespace APT.BaseData.Domain.IServices.EX
{
    public interface IWebSocketService
	{
		/// <summary>
		/// webscoket 打开
		/// </summary>
		/// <param name="clientInfo"></param>
		/// <returns></returns>
		WebSocketResponseInfo OnOpenWebSocket(WebSocketClientInfo clientInfo);
			/// <summary>
			/// websocket 关闭
			/// </summary>
			/// <param name="userId"></param>
		void OnCloseWebSocket(Guid userId, WebSocketClientInfo clientInfo);
		/// <summary>
		/// websocket 信息
		/// </summary>
		/// <param name="clientInfo"></param>
		/// <param name="requestInfo"></param>
		/// <returns></returns>
		WebSocketResponseInfo OnMessageWebSocket(WebSocketClientInfo clientInfo,
				WebSocketRequestInfo requestInfo);
	}
}
