using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Authentication; using SuperSocket.Common; namespace SuperSocket.SocketBase { /// <summary> /// It is the basic interface of SocketServer, /// SocketServer is the abstract server who really listen the comming sockets directly. /// </summary> public interface ISocketServer { /// <summary> /// Starts this instance. /// </summary> /// <returns></returns> bool Start(); /// <summary> /// Resets the session's security protocol. /// </summary> /// <param name="session">The session.</param> /// <param name="security">The security protocol.</param> void ResetSessionSecurity(IAppSession session, SslProtocols security); /// <summary> /// Gets a value indicating whether this instance is running. /// </summary> /// <value> /// <c>true</c> if this instance is running; otherwise, <c>false</c>. /// </value> bool IsRunning { get; } /// <summary> /// Gets the information of the sending queue pool. /// </summary> /// <value> /// The sending queue pool. /// </value> IPoolInfo SendingQueuePool { get; } /// <summary> /// Stops this instance. /// </summary> void Stop(); } }