internal Connection(TcpClient client, ProtocolConfiguration configuration, IInternalServiceManager <IConnection> services = null, ISslStreamFactory sslFactory = null, IConnectionData data = null, List <InternalPayloadDispatchHandler> dispatcher = null) : this( configuration.PayloadEncoder.Clone(), configuration.PayloadDecoder.Clone()) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } if (client == null || !client.Connected) { throw new ArgumentException(nameof(client)); } Client = client; SslMode = configuration.SslMode; CustomOutcomingMessageQueue = configuration.CustomOutcomingMessageQueue; CustomIncomingMessageQueue = configuration.CustomIncomingMessageQueue; _services = services; // ?? BasicServiceManager<IConnection>.Empty; _sslFactory = sslFactory; Data = data; DispatchPayload = dispatcher ?? new List <InternalPayloadDispatchHandler>(0); _readAsync = configuration.ReadAsync; }
public IConnectionBuilder UseClientSsl(string targetCommonName, X509Certificate2 certificate, SslProtocols protocols) { if (_config == null) { _config = new ProtocolConfiguration(); } UseSsl(_config.GetClientSslFactory(targetCommonName, certificate, protocols)); return(this); }
public ConnectionBuilder(ProtocolConfiguration config = null) { _config = config ?? new ProtocolConfiguration(); _dispatcher = new List <Connection.InternalPayloadDispatchHandler>(0); }