static void ListenLoop(SWIGTYPE_p_void subSocket) { using (var buffer = new PinnedBuffer(new byte[64])) { while (true) { if (-1 != ZeroMQ.zmq_recv(subSocket, buffer.Pointer, buffer.Length, 0)) { Console.WriteLine("Success: [{0}] received", MarketOrder.FromBytes(buffer)); } else { Console.WriteLine("Warning: zmq_recv failed"); } } } }