gRPC の mustEmbedUnimplemented メソッド*
最新の更新で、gRPC-go は、mustEmbedUnimplemented* メソッドで上位互換性を確保するサーバー。しかし、これは正確には何をするのでしょうか?
mustEmbedUnimplemented が導入される前は*
以前は、次のようにサーバー実装を直接登録する必要がありました。pb.RegisterFooBarServiceServer( server, &FooBarServer{}, // or whatever you use to construct the server impl )
mustEmbedUnimplemented の導入*
更新された protoc-gen-grpc-go コンパイラーでは、前方互換性がデフォルトになります。これは、次のことを意味します。前方互換性の構成
さらに、上位互換性は、使用時に次のオプションを設定することで無効にできます。 protoc-gen-grpc-go:protoc --go-grpc_out=require_unimplemented_servers=false:.
利点
mustEmbedUnimplemented* により、サーバーが常に前方互換性を確保し、予期しないエラーが発生するのを防ぎます未実装のメソッドによる。 Unsafe FooBarServiceServer をオプトアウトすることで、開発者は上位互換性の原則を遵守しながら、下位互換性を維持できます。
以上がgRPC の「mustEmbedUnimplemented」メソッドとは何ですか?また、どのように上位互換性を確保しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。