title: building a custom communication protocol in C++ for a distributed system
body: <p>I have a need to build a custom communication protocol in a distributed system. The logic on the individual nodes is implemented in C++. </p>
  
  <p>In my past experience, when I had to do this thing in Java, I relied on Netty. Is there a similar framework/library in C++ that allows me to implement my own custom protocols?</p>
  
  <p>I looked at <code>ZeroMQ</code> briefly. However, at the docs I found seem to over-emphasize on using the pred-defined patterns like <strong><code>REQ</code></strong>/<strong><code>REP</code></strong>, <strong><code>PUB</code></strong>/<strong><code>SUB</code></strong> etc. <strong>Is there a more foundational layer</strong> on ZeroMQ <strong>that does not force me to use these patterns</strong>, but still provides enough support to implement custom communication protocols?</p>
  
  <p>If there are other libraries (heard of <code>Boost.Asio</code>) that are a better fit, then that is also welcome.</p>