private void RunListenerSubscriber(IConnectionStubListener <SimpleMessage <int>, int> listener)
        {
            var stub = listener.AcceptNext();

            Console.WriteLine(@"Server: Got Connection");
            var connection = new StubConnection <SimpleMessage <int>, int>(
                new ThreadManager(), stub);
            var messages = 0;

            connection.Subscribe(1, (message, size) =>
            {
                TextMessageHandler("Server", message, size);
                messages++;
            });
            var exit = false;

            connection.Subscribe(2, (message, size) =>
            {
                Console.WriteLine(@"Received exit Message");
                Console.WriteLine(@"Total messages received: {0}", messages);
                exit = true;
            });
            connection.Send(new SimpleMessage <int>(0));
            while (!exit)
            {
                Thread.CurrentThread.Join(10);
            }
            connection.Disconnect();
            listener.Close();
        }
 private void RunListenerSubscriber(IConnectionStubListener<SimpleMessage<int>, int> listener)
 {
     var stub = listener.AcceptNext();
     Console.WriteLine(@"Server: Got Connection");
     var connection = new StubConnection<SimpleMessage<int>, int>(
         new ThreadManager(), stub);
     var messages = 0;
     connection.Subscribe(1, (message, size) =>
     {
         TextMessageHandler("Server", message, size);
         messages++;
     });
     var exit = false;
     connection.Subscribe(2, (message, size) =>
     {
         Console.WriteLine(@"Received exit Message");
         Console.WriteLine(@"Total messages received: {0}", messages);
         exit = true;
     });
     connection.Send(new SimpleMessage<int>(0));
     while (!exit)
     {
         Thread.CurrentThread.Join(10);
     }
     connection.Disconnect();
     listener.Close();
 }