importprotobuf.message;importutil.metaProperty;classMsg {ctor(reader){this= ..protobuf.message(reader)this.fields[1] ="..protobuf.type.int";this.values[1] =null;this.fields[2] ="..protobuf.type.bool";this.values[2] =null;this.fields[3] ="..Msg.Sub";this.values[3] =null;
}
@_metaProperty ;
}namespaceMsg {classSub {ctor(reader){this= ..protobuf.message(reader)this.fields[1] ="..protobuf.type.int";this.values[1] =null;this.fields[2] ="..protobuf.type.bytes";this.values[2] =null;
}
@_metaProperty ;
}namespaceSub {
_metaProperty = ..util.metaProperty(
_tostring =function(){returnowner.serializeToString();
};
cmd = {
_get =function(){returnowner._get_value(1);
}
_set =function( value ){returnowner._set_value(1, value);
}
};
msg = {
_get =function(){returnowner._get_value(2);
}
_set =function( value ){returnowner._set_value(2, value);
}
};
)
}/**intellisense()
Msg.Sub = protobuf消息对象
Msg.Sub() = 创建protobuf消息对象
?Msg.Sub = !Msg_Sub.
!Msg_Sub.parseFromString(__/*字符串*/) = 二进制数据反序列化到消息对象
此函数自动清空所有数组值,但不会重置其他非数组字段值.
因此应对新创建的对象调用此函数.
!Msg_Sub.serializeToString() = 序列化消息对象,返回二进制字符串
!Msg_Sub.cmd = protobuf.type.int
!Msg_Sub.msg = protobuf.type.bytes
end intellisense**/_metaProperty = ..util.metaProperty(
_tostring =function(){returnowner.serializeToString();
};
cmd = {
_get =function(){returnowner._get_value(1);
}
_set =function( value ){returnowner._set_value(1, value);
}
};
compress = {
_get =function(){returnowner._get_value(2);
}
_set =function( value ){returnowner._set_value(2, value);
}
};
context = {
_get =function(){returnowner._get_value(3);
}
_set =function( value ){returnowner._set_value(3, value);
}
};
)
}/**intellisense()
Msg = protobuf消息对象
Msg() = 创建protobuf消息对象
?Msg = !Msg.
!Msg.parseFromString(__/*字符串*/) = 二进制数据反序列化到消息对象
此函数自动清空所有数组值,但不会重置其他非数组字段值.
因此应对新创建的对象调用此函数.
!Msg.serializeToString() = 序列化消息对象,返回二进制字符串
!Msg.cmd = protobuf.type.int
!Msg.compress = protobuf.type.bool
!Msg.context = !Msg_Sub.
end intellisense**//*
message Msg{
required int32 cmd = 1;
optional bool compress = 2;
message Sub{
optional int32 cmd = 1;
optional bytes msg = 2;
}
optional Sub context = 3;
}
*/
单独测试代码: