相关疑难解决方法(0)

用协议缓冲区做多态的正确方法是什么?

我正在尝试长期序列化一堆与java中强类层次结构相关的对象,并且由于它们的简单性,性能和易于升级,我想使用协议缓冲区来实现它.但是,它们并没有为多态性提供太多支持.现在,我正在处理它的方式是通过"一条消息来统治它们"的解决方案,它有一个必需的字符串uri字段,允许我通过反射实例化正确的类型,然后是一堆可选字段,用于所有我可以序列化的其他可能的类,只使用其中一个(基于uri字段的值).有没有更好的方法来处理多态,或者这是否会像我将得到的那样好?

protocol-buffers

52
推荐指数
4
解决办法
4万
查看次数

如何使用ProtoBuf扩展来获得C++中的多态性

我试图定义一个公共基本消息,它定义消息的类型(为了更容易解析),然后用实际消息扩展.消息将以RPC方式使用.

我的.proto文件

syntax = "proto2";
package userapi;

// wrapper for commands
message Command
{
    // for "subclassing"
    extensions 100 to max;

    enum Type
    {
        Request = 1;
        Response = 2;
    }

    required Type type = 1;
}   

message Request
{
    // register this message type as extension to command
    extend Command
    {       
        optional Request command = 100;
    }

    optional string guid = 1;
}

message Response
{
    // register this message type as extension to command
    extend Command
    {       
        optional …
Run Code Online (Sandbox Code Playgroud)

c++ protocol-buffers zeromq

3
推荐指数
1
解决办法
4993
查看次数

标签 统计

protocol-buffers ×2

c++ ×1

zeromq ×1