/// <inheritdoc /> public void Dispose() { if (HasMultiplexingClientBeenCreated()) { MultiplexingClient multiplexingClient = m_multiplexingClientLazyTask.Value.Result.Result; multiplexingClient.Dispose(); } }
private async Task WithSetup(string testName, Func <MultiplexingClient, Socket, Task> testAction) { using (var tcpConnectivity = new TcpIpConnectivity(Utils.GetUnusedPortNumber())) { var serverSocketTask = Task.Run(() => tcpConnectivity.AcceptClientAsync(CancellationToken.None)); using (var tcpClient = await tcpConnectivity.ConnectToServerAsync()) using (var serverSocket = await serverSocketTask) { var client = new MultiplexingClient(ClientConfigWithLogger(testName), tcpClient.GetStream()); await testAction(client, serverSocket); } } }
private Task WaitClientDone(MultiplexingClient client) { client.RequestStop(); return(client.Completion); }