| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | using System;using System.Net.Security;using System.Net.Sockets;using System.Security.Authentication;using System.Security.Cryptography.X509Certificates;using MECF.Framework.Common.Communications.Tcp.Buffer;using MECF.Framework.Common.Communications.Tcp.Socket.Framing;using MECF.Framework.Common.Communications.Tcp.Socket.Framing.Base;namespace MECF.Framework.Common.Communications.Tcp.Socket.Server.APM{    public sealed class TcpSocketServerConfiguration    {        public TcpSocketServerConfiguration()            : this(new SegmentBufferManager(1024, 8192, 1, true))        {        }        public TcpSocketServerConfiguration(ISegmentBufferManager bufferManager)        {            BufferManager = bufferManager;            ReceiveBufferSize = 8192;            SendBufferSize = 8192;            ReceiveTimeout = TimeSpan.Zero;            SendTimeout = TimeSpan.Zero;            NoDelay = true;            LingerState = new LingerOption(false, 0);            KeepAlive = false;            KeepAliveInterval = TimeSpan.FromSeconds(5);            ReuseAddress = false;            PendingConnectionBacklog = 200;            AllowNatTraversal = true;            SslEnabled = false;            SslServerCertificate = null;            SslEncryptionPolicy = EncryptionPolicy.RequireEncryption;            SslEnabledProtocols = SslProtocols.Ssl3 | SslProtocols.Tls;            SslClientCertificateRequired = true;            SslCheckCertificateRevocation = false;            SslPolicyErrorsBypassed = false;            ConnectTimeout = TimeSpan.FromSeconds(15);            FrameBuilder = new LengthPrefixedFrameBuilder();        }        public ISegmentBufferManager BufferManager { get; set; }        public int ReceiveBufferSize { get; set; }        public int SendBufferSize { get; set; }        public TimeSpan ReceiveTimeout { get; set; }        public TimeSpan SendTimeout { get; set; }        public bool NoDelay { get; set; }        public LingerOption LingerState { get; set; }        public bool KeepAlive { get; set; }        public TimeSpan KeepAliveInterval { get; set; }        public bool ReuseAddress { get; set; }        public int PendingConnectionBacklog { get; set; }        public bool AllowNatTraversal { get; set; }        public bool SslEnabled { get; set; }        public X509Certificate2 SslServerCertificate { get; set; }        public EncryptionPolicy SslEncryptionPolicy { get; set; }        public SslProtocols SslEnabledProtocols { get; set; }        public bool SslClientCertificateRequired { get; set; }        public bool SslCheckCertificateRevocation { get; set; }        public bool SslPolicyErrorsBypassed { get; set; }        public TimeSpan ConnectTimeout { get; set; }        public IFrameBuilder FrameBuilder { get; set; }    }}
 |