do some work on RpcCodec