using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using SuperSocket.SocketBase.Logging; using SuperSocket.SocketBase.Command; using SuperSocket.SocketBase.Config; using SuperSocket.SocketBase.Protocol; using SuperWebSocket.Config; using SuperSocket.SocketBase; namespace SuperWebSocket.SubProtocol { /// /// SubProtocol interface /// /// The type of the web socket session. public interface ISubProtocol where TWebSocketSession : WebSocketSession, new() { /// /// Initializes with the specified config. /// /// The app server. /// The protocol config. /// The logger. /// bool Initialize(IAppServer appServer, SubProtocolConfig protocolConfig, ILog logger); /// /// Gets the name. /// string Name { get; } /// /// Gets the sub request parser. /// IRequestInfoParser SubRequestParser { get; } /// /// Tries the get command. /// /// The name. /// The command. /// bool TryGetCommand(string name, out ISubCommand command); } }