buffer.readableBytes() - 4);
buffer.markReaderIndex();
buffer.readerIndex(buffer.writerIndex() - 4);
int checksum = buffer.readInt();
if (checksum == (int)adler32.getValue()) {
buffer.resetReaderIndex();
RpcMessage message = RpcMessage.newBuilder().mergeFrom(
buffer.array(),
buffer.arrayOffset() + buffer.readerIndex() + 4,
buffer.readableBytes() - 8).build();
return message;