using System; using System.Collections.Generic; using System.Text; using System.Configuration; using System.Security.Authentication; using System.Collections.Specialized; namespace SuperSocket.SocketBase.Config { /// /// Server instance configuation interface /// public partial interface IServerConfig { /// /// Gets the name of the server type this appServer want to use. /// /// /// The name of the server type. /// string ServerTypeName { get; } /// /// Gets the type definition of the appserver. /// /// /// The type of the server. /// string ServerType { get; } /// /// Gets the Receive filter factory. /// string ReceiveFilterFactory { get; } /// /// Gets the ip. /// string Ip { get; } /// /// Gets the port. /// int Port { get; } /// /// Gets the options. /// NameValueCollection Options { get; } /// /// Gets the option elements. /// NameValueCollection OptionElements { get; } /// /// Gets a value indicating whether this is disabled. /// /// /// true if disabled; otherwise, false. /// bool Disabled { get; } /// /// Gets the name. /// string Name { get; } /// /// Gets the mode. /// SocketMode Mode { get; } /// /// Gets the send time out. /// int SendTimeOut { get; } /// /// Gets the max connection number. /// int MaxConnectionNumber { get; } /// /// Gets the size of the receive buffer. /// /// /// The size of the receive buffer. /// int ReceiveBufferSize { get; } /// /// Gets the size of the send buffer. /// /// /// The size of the send buffer. /// int SendBufferSize { get; } /// /// Gets a value indicating whether sending is in synchronous mode. /// /// /// true if [sync send]; otherwise, false. /// bool SyncSend { get; } /// /// Gets a value indicating whether log command in log file. /// /// true if log command; otherwise, false. bool LogCommand { get; } /// /// Gets a value indicating whether clear idle session. /// /// true if clear idle session; otherwise, false. bool ClearIdleSession { get; } /// /// Gets the clear idle session interval, in seconds. /// /// The clear idle session interval. int ClearIdleSessionInterval { get; } /// /// Gets the idle session timeout time length, in seconds. /// /// The idle session time out. int IdleSessionTimeOut { get; } /// /// Gets X509Certificate configuration. /// /// X509Certificate configuration. ICertificateConfig Certificate { get; } /// /// Gets the security protocol, X509 certificate. /// string Security { get; } /// /// Gets the length of the max request. /// /// /// The length of the max request. /// int MaxRequestLength { get; } /// /// Gets a value indicating whether [disable session snapshot]. /// /// /// true if [disable session snapshot]; otherwise, false. /// bool DisableSessionSnapshot { get; } /// /// Gets the interval to taking snapshot for all live sessions. /// int SessionSnapshotInterval { get; } /// /// Gets the connection filters used by this server instance. /// /// /// The connection filter's name list, seperated by comma /// string ConnectionFilter { get; } /// /// Gets the command loader, multiple values should be separated by comma. /// string CommandLoader { get; } /// /// Gets the start keep alive time, in seconds /// int KeepAliveTime { get; } /// /// Gets the keep alive interval, in seconds. /// int KeepAliveInterval { get; } /// /// Gets the backlog size of socket listening. /// int ListenBacklog { get; } /// /// Gets the startup order of the server instance. /// int StartupOrder { get; } /// /// Gets the child config. /// /// The type of the config. /// Name of the child config. /// TConfig GetChildConfig(string childConfigName) where TConfig : ConfigurationElement, new(); /// /// Gets the listeners' configuration. /// IEnumerable Listeners { get; } /// /// Gets the log factory name. /// string LogFactory { get; } /// /// Gets the size of the sending queue. /// /// /// The size of the sending queue. /// int SendingQueueSize { get; } /// /// Gets a value indicating whether [log basic session activity like connected and disconnected]. /// /// /// true if [log basic session activity]; otherwise, false. /// bool LogBasicSessionActivity { get; } /// /// Gets a value indicating whether [log all socket exception]. /// /// /// true if [log all socket exception]; otherwise, false. /// bool LogAllSocketException { get; } /// /// Gets the default text encoding. /// /// /// The text encoding. /// string TextEncoding { get; } /// /// Gets the command assemblies configuration. /// /// /// The command assemblies. /// IEnumerable CommandAssemblies { get; } } }