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