AK.F1.Timing.Live.IO.LiveSocketMessageStreamTest.CreateTestContext C# (CSharp) Method

CreateTestContext() private static method

private static CreateTestContext ( ) : TestContext
return TestContext
        private static TestContext CreateTestContext()
        {
            var endpoint = new IPEndPoint(IPAddress.Loopback, 50192);
            var server = new Socket(endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            var context = new TestContext
            {
                Local = new Socket(endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
            };

            server.Bind(endpoint);
            server.Listen(1);

            var connectAsyncResult = context.Local.BeginConnect(endpoint, null, null);

            context.Remote = server.Accept();
            context.Remote.NoDelay = true;
            ((IDisposable)server).Dispose();
            // Even though accept blocks the connect async op will not have completed.
            connectAsyncResult.AsyncWaitHandle.WaitOne();
            context.Stream = new LiveSocketMessageStream(context.Local)
            {
                PingInterval = TimeSpan.FromMilliseconds(50d)
            };

            return context;
        }