2

トピックとしてthrift rpc関数を使いたいのですが、シリアル化にprotobufを使いたいのですが、これを実現しているプロジェクトはありますか? thrift serialization を使用したくない理由は、生成された cpp ファイルを確認した後、_in_place 関数がないことがわかりました。つまり、すべてのメンバーをコピーする必要がありますが、私の場合はすべて持っていますchar* などはすでに他の場所に割り当てられています。

4

1 に答える 1

3

これを行う唯一の方法は、Protobuf として解析する大きなバイト BLOB を含む Thrift メッセージを宣言することです。ただし、それには余分なコピーが必要になり、目的が果たせなくなります。

Google が Protobufs の RPC プロトコルである GRPC をリリースしたばかりであることに注意してください。新しいプロジェクトを開始していて、Protobuf RPC を使用したい場合は、それを使用してください。

Cap'n Protoにも興味があるかもしれません。これは、コピーを避けることに特化したシリアライゼーションおよび RPC システムです。

(開示: 私は Cap'n Proto の作成者であり、Google のオープン ソースの Protobuf コードのほとんどの作成者でもありますが、GRPC とは何の関係もありません。)

于 2015-03-07T21:04:32.057 に答える