ChannelBuffer header = ChannelBuffers.buffer(ByteOrder.BIG_ENDIAN, 24);
header.writeByte((byte)0x81); // magic
header.writeByte(bcmd.code); // opcode
short keyLength = (short) (keyBuffer != null ? keyBuffer.capacity() :0);
header.writeShort(keyLength);
int extrasLength = extrasBuffer != null ? extrasBuffer.capacity() : 0;
header.writeByte((byte) extrasLength); // extra length = flags + expiry
header.writeByte((byte)0); // data type unused
header.writeShort(responseCode); // status code