Dispose() public method

public Dispose ( ) : void
return void
        public void CheckAllMessagesInOrder()
        {
            _currentNumber = 1;
            var port = NetworkUtils.GetRandomUnusedPort();
            var ipEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), port);
            var transport = new SendingTransport();
            var sender = new TcpTransportPipeMultiThread(100000, HighWaterMarkBehavior.Block, ipEndPoint, transport);
            var receiver = new TcpReceiver();

            var waitHandle = new AutoResetEvent(false);
            var batchSize = 2000000;
            receiver.RegisterCallback(ipEndPoint, s => OnCheckErrorMessageReceived(s, waitHandle, batchSize));

            var beforebindDataCount = 100;
            for (int i = 1; i < beforebindDataCount; i++)
            {
                sender.Send(new ArraySegment<byte>(BitConverter.GetBytes(i)));
            }
            Thread.Sleep(800);
            receiver.ListenToEndpoint(ipEndPoint);
            SpinWait.SpinUntil(() => _currentNumber == beforebindDataCount);
            Console.WriteLine("received first messages");
            var watch = new Stopwatch();
            watch.Start();
            for (int i = beforebindDataCount; i < batchSize / 2; i++)
            {
                sender.Send(new ArraySegment<byte>(BitConverter.GetBytes(i)));
            }
            Console.WriteLine("stoppping reception on endpoint");

            SpinWait.SpinUntil(() => _currentNumber >= batchSize / 2);

            receiver.StopListeningTo(ipEndPoint);
            Thread.Sleep(100);
            Console.WriteLine("re-establishing reception on endpoint");

            sender.Send(new ArraySegment<byte>(BitConverter.GetBytes(batchSize / 2)));
            sender.Send(new ArraySegment<byte>(BitConverter.GetBytes(batchSize / 2 + 1)));
            Thread.Sleep(100);
            receiver.ListenToEndpoint(ipEndPoint);
            Thread.Sleep(500);

            for (int i = batchSize / 2 +2; i < batchSize; i++)
            {
              //  sender.Send(ipEndPoint, BitConverter.GetBytes(i));
                sender.Send(new ArraySegment<byte>(BitConverter.GetBytes(i)));
            }
            Console.WriteLine("sent last messages");

            waitHandle.WaitOne();
            if(_currentNumber != batchSize)
                Assert.Fail();
            watch.Stop();
            var fps = batchSize / (watch.ElapsedMilliseconds / 1000m);
            Console.WriteLine(string.Format("FPS = : {0} mess/sec, elapsed : {1} ms, messages {2}", fps.ToString("N2"), watch.ElapsedMilliseconds, batchSize));

            sender.Dispose();
            transport.Dispose();
            receiver.Dispose();

            Thread.Sleep(500);
        }