OpenHiva::HivaMessage类型定义
OpenHiva::HivaMessage是框架发布-订阅通用的消息类型,里面包含了消息的序列化和反序列化接口。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | namespace Hiva { namespace StdMsgs { class HivaMessage { public: HivaMessage() = default; virtual ~HivaMessage() = default; virtual bool Serialize(HivaSerializer &serializer) const = 0; virtual bool Deserialize(HivaSerializer &serializer) = 0; virtual uint32_t GetSerializedLength(HivaSerializer &serializer) const = 0; virtual const Hiva::HivaTime &GetTimeStamp() const = 0; // 获取消息生成时的时间戳,保存在消息头里,只有在HasHeader接口为true时才有意义 virtual uint32_t GetSequenceId() const = 0; // 获取消息生成的序列号,保存在消息头里,只有在HasHeader接口为true时才有意义 // 如下接口描述消息属性,必须在各个子类实现 static bool HasHeader(); // 是否存在消息头 static std::string GetDataType(); // 消息类型 static std::string GetMD5Sum(); // 消息的md5值,每个消息的md5值都不同 static std::string GetDefinition(); // 消息的定义,定义里面详细的描述了消息里面的成员变量 }; } } using OpenHiva::HivaMessage = Hiva::StdMsgs::HivaMessage; |
父主题: 类型定义