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); }
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); }
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); }