Currently, a new CCByteBuf is created for every send operation.
CCByteBufs can't be easily reused since we use memoryvviews of them for sending, which may result in race conditions where the buffer (thus the view) gets overridden / cleared before the message actually gets sent.
Further investigation needed: maybe it's just because we didn't call memoryview.release()?