The problem was I was basically flushing twice for every message when
doing request reply.
This gives the sender the opportunity to finish writing a full message
to the queue, which we then check for before flushing.
This makes request reply latency benchmarks go down from like 90ms to
200us.