public static void RelayBiDirectionally(Socket s1, Socket s2) { var relayOne = new SocketRelay(s1, s2); var relayTwo = new SocketRelay(s2, s1); relayOne.Other = relayTwo; relayTwo.Other = relayOne; Task.Run(relayOne.Process); Task.Run(relayTwo.Process); }
private void OnCleanup() { if (Disposed) { return; } Disposed = ShouldDispose = true; Other.ShouldDispose = true; Other = null; Source.TryDispose(); Target.TryDispose(); RecSAEA.TryDispose(); SendSAEA.TryDispose(); Source = Target = null; RecSAEA = SendSAEA = null; Buffer = null; }