public IntradomainChannelAwaiter(IntradomainEndpoint endpoint, IMessageSerializer serializer, ChannelSettings channelSettings = null, IntradomainConnectionSettings connectionSettings = null, ISecurityWrapper serverSecurityWrapper = null) : base(endpoint, serializer, channelSettings, connectionSettings, serverSecurityWrapper) { }
internal IntradomainChannel(IntradomainSocket socket, IMessageSerializer serializer, ChannelSettings channelSettings = null, IntradomainConnectionSettings connectionSettings = null, ISecurityWrapper serverSecurityWrapper = null) : base(socket, serializer, channelSettings, connectionSettings, serverSecurityWrapper) { }
internal static IntradomainChannel CreateAndOpen(AutoResetEvent channelCreatedEvent, IntradomainSocket socket, IMessageSerializer serializer, ChannelSettings channelSettings = null, IntradomainConnectionSettings connectionSettings = null, ISecurityWrapper serverSecurityWrapper = null) { var result = new IntradomainChannel(socket, serializer, channelSettings, connectionSettings, serverSecurityWrapper); EstablishConnection(result, channelCreatedEvent, socket, connectionSettings?.ConnectTimeout ?? IntradomainConnectionSettingsBuilder.GetDefaultSettings().ConnectTimeout); return(result); }
internal IntradomainChannel(IntradomainSocket socket, IMessageSerializer serializer, ChannelSettings channelSettings = null, IntradomainConnectionSettings connectionSettings = null, ISecurityWrapper serverSecurityWrapper = null) : this(socket, serializer) { _connectionSettings = connectionSettings ?? IntradomainConnectionSettingsBuilder.GetDefaultSettings(); MaxMessageLength = channelSettings?.MaxMessageLength ?? ChannelSettings.GetDefault().MaxMessageLength; SecurityWrapper = serverSecurityWrapper; }
public IntradomainChannel(IntradomainEndpoint endpoint, IMessageSerializer serializer, ChannelSettings channelSettings = null, IntradomainConnectionSettings connectionSettings = null, ISecurityWrapper clientSecurityWrapper = null) : this(endpoint, SocketType.Client, serializer) { _connectionSettings = connectionSettings ?? IntradomainConnectionSettingsBuilder.GetDefaultSettings(); MaxMessageLength = channelSettings?.MaxMessageLength ?? ChannelSettings.GetDefault().MaxMessageLength; SecurityWrapper = clientSecurityWrapper; }
internal IntradomainChannelAwaiterBase(IntradomainEndpoint endpoint, IMessageSerializer serializer, ChannelSettings channelSettings = null, IntradomainConnectionSettings connectionSettings = null, ISecurityWrapper serverSecurityWrapper = null) { Enforce.NotNull(endpoint, nameof(endpoint)); Enforce.NotNull(serializer, nameof(serializer)); ListeningEndpoint = endpoint; _serializer = serializer; ChannelSettings = channelSettings; ConnectionSettings = connectionSettings; ServerSecurityWrapper = serverSecurityWrapper; _connectionManager = IntradomainConnectionManager.Instance; }
public bool Connect(IntradomainSocket socket, IntradomainConnectionSettings connectionSettings = null) { if (string.IsNullOrEmpty(socket.Hub)) { return(false); } if (socket.Type != SocketType.Client) { throw new ArgumentException(nameof(socket)); } Func <IntradomainSocket, IntradomainSocket> getSocketData; lock (_locker) { if (!_listeners.ContainsKey(socket.Hub)) { return(false); } getSocketData = _listeners[socket.Hub]; } socket.ConnectionId = Guid.NewGuid().ToString(); var remoteSocket = getSocketData(socket); if (remoteSocket == null) { return(false); } lock (_locker) { var connection = new IntradomainConnetcion(remoteSocket, socket, connectionSettings ?? IntradomainConnectionSettingsBuilder.GetDefaultSettings()) { ClientSocketState = IntradomainSocketState.Connected }; _connections.Add(socket.ConnectionId, connection); _connectionCreated.Set(); return(true); } }
public IntradomainConnetcion(IntradomainSocket server, IntradomainSocket client, IntradomainConnectionSettings settings) { Enforce.NotNull(server, nameof(server)); Enforce.NotNull(client, nameof(client)); Enforce.NotNull(settings, nameof(settings)); Enforce.IsTrue(server.Type == SocketType.Server, nameof(server)); Enforce.IsTrue(client.Type == SocketType.Client, nameof(client)); Enforce.IsTrue(client.ConnectionId == server.ConnectionId, "Client and server sockets should have the same ConnectionId", nameof(client)); ServerSocket = server; ClientSocket = client; _serverStream = new IntradomainStream(settings.ReceiveTimeout); _clientStream = new IntradomainStream(settings.ReceiveTimeout); _serverStream.Partner = _clientStream; _clientStream.Partner = _serverStream; }