Ejemplo n.º 1
0
        public static Tcp ConnectTo(this Tcp tcp,
                                    IPEndPoint localEndPoint,
                                    IPEndPoint remoteEndPoint,
                                    Action <Tcp, Exception> connectedAction,
                                    bool dualStack = false)
        {
            if (tcp is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.tcp);
            }
            if (localEndPoint is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.localEndPoint);
            }
            if (remoteEndPoint is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.remoteEndPoint);
            }
            if (connectedAction is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.connectedAction);
            }

            tcp.Bind(localEndPoint, dualStack);
            tcp.ConnectTo(remoteEndPoint, connectedAction);

            return(tcp);
        }
Ejemplo n.º 2
0
        public static Tcp Bind(this Tcp tcp,
                               IPEndPoint localEndPoint,
                               Action <Tcp, IStreamReadCompletion> onRead,
                               bool dualStack = false)
        {
            if (tcp is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.tcp);
            }
            if (localEndPoint is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.localEndPoint);
            }
            if (onRead is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.onRead);
            }

            tcp.Bind(localEndPoint, dualStack);
            tcp.OnRead(onRead);

            return(tcp);
        }
Ejemplo n.º 3
0
        public static Tcp Listen(this Tcp tcp,
                                 IPEndPoint localEndPoint,
                                 Action <Tcp, Exception> onConnection,
                                 int backlog    = ServerStream.DefaultBacklog,
                                 bool dualStack = false)
        {
            if (tcp is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.tcp);
            }
            if (localEndPoint is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.localEndPoint);
            }
            if (onConnection is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.onConnection);
            }

            tcp.Bind(localEndPoint, dualStack);
            tcp.Listen(onConnection, backlog);

            return(tcp);
        }