buffer = NioUtils.createMessageHeader(0, pm);
break;
case MESSAGE_REQUEST:
RequestMessage req = (RequestMessage) pm;
ProtocolMessageType reqMsgType = protocolVersion == CougarProtocol.TRANSPORT_PROTOCOL_VERSION_CLIENT_ONLY_RPC ? ProtocolMessageType.MESSAGE : ProtocolMessageType.MESSAGE_REQUEST;
buffer = NioUtils.createMessageHeader(req.getPayload().length + 8, reqMsgType);
buffer.putLong(req.getCorrelationId());
buffer.put(req.getPayload());
break;
case MESSAGE_RESPONSE:
ResponseMessage resp = (ResponseMessage) pm;
// backwards compatibility with version 1 protocol
ProtocolMessageType responseType = protocolVersion == CougarProtocol.TRANSPORT_PROTOCOL_VERSION_CLIENT_ONLY_RPC ? ProtocolMessageType.MESSAGE : ProtocolMessageType.MESSAGE_RESPONSE;
buffer = NioUtils.createMessageHeader(resp.getPayload().length + 8, responseType);
buffer.putLong(resp.getCorrelationId());
buffer.put(resp.getPayload());
break;