Example #1
0
 public static ITcpConnection CreateAcceptedTcpConnection(Guid connectionId,
                                                          IPEndPoint remoteEndPoint,
                                                          Socket socket,
                                                          bool verbose)
 {
     var connection = new TcpConnection(connectionId, remoteEndPoint, verbose);
     connection.InitSocket(socket);
     return connection;
 }
Example #2
0
 public static ITcpConnection CreateConnectingTcpConnection(Guid connectionId,
                                                            IPEndPoint remoteEndPoint,
                                                            TcpClientConnector connector,
                                                            TimeSpan connectionTimeout,
                                                            Action<ITcpConnection> onConnectionEstablished,
                                                            Action<ITcpConnection, SocketError> onConnectionFailed,
                                                            bool verbose)
 {
     var connection = new TcpConnection(connectionId, remoteEndPoint, verbose);
     // ReSharper disable ImplicitlyCapturedClosure
     connector.InitConnect(remoteEndPoint,
                           (_, socket) => {
                               connection.InitSocket(socket);
                               if (onConnectionEstablished != null)
                                   onConnectionEstablished(connection);
                           },
                           (_, socketError) => {
                               if (onConnectionFailed != null)
                                   onConnectionFailed(connection, socketError);
                           },
                           connection, connectionTimeout);
     // ReSharper restore ImplicitlyCapturedClosure
     return connection;
 }