// automatically generated by the FlatBuffers compiler, do not modify #ifndef FLATBUFFERS_GENERATED_P2PMSGCONTENT_MSG_FBUF_P2PMSG_H_ #define FLATBUFFERS_GENERATED_P2PMSGCONTENT_MSG_FBUF_P2PMSG_H_ #include "flatbuffers/flatbuffers.h" #include "common_schema_generated.h" namespace msg { namespace fbuf { namespace p2pmsg { struct Peer_Challenge_Message; struct Peer_Challenge_MessageBuilder; struct Peer_Challenge_Response_Message; struct Peer_Challenge_Response_MessageBuilder; struct UserInput; struct UserInputBuilder; struct UserInputGroup; struct UserInputGroupBuilder; struct Content; struct ContentBuilder; struct NonUnl_Proposal_Message; struct NonUnl_Proposal_MessageBuilder; struct Proposal_Message; struct Proposal_MessageBuilder; struct Npl_Message; struct Npl_MessageBuilder; struct History_Request_Message; struct History_Request_MessageBuilder; struct History_Response_Message; struct History_Response_MessageBuilder; struct HistoryLedgerPair; struct HistoryLedgerPairBuilder; struct HistoryLedger; struct HistoryLedgerBuilder; struct State_Request_Message; struct State_Request_MessageBuilder; struct State_Response_Message; struct State_Response_MessageBuilder; struct Fs_Entry_Response; struct Fs_Entry_ResponseBuilder; struct File_HashMap_Response; struct File_HashMap_ResponseBuilder; struct Block_Response; struct Block_ResponseBuilder; struct State_FS_Hash_Entry; struct State_FS_Hash_EntryBuilder; struct Connected_Status_Announcement_Message; struct Connected_Status_Announcement_MessageBuilder; enum Message { Message_NONE = 0, Message_Peer_Challenge_Response_Message = 1, Message_Peer_Challenge_Message = 2, Message_NonUnl_Proposal_Message = 3, Message_Proposal_Message = 4, Message_Npl_Message = 5, Message_State_Request_Message = 6, Message_State_Response_Message = 7, Message_History_Request_Message = 8, Message_History_Response_Message = 9, Message_Connected_Status_Announcement_Message = 10, Message_MIN = Message_NONE, Message_MAX = Message_Connected_Status_Announcement_Message }; inline const Message (&EnumValuesMessage())[11] { static const Message values[] = { Message_NONE, Message_Peer_Challenge_Response_Message, Message_Peer_Challenge_Message, Message_NonUnl_Proposal_Message, Message_Proposal_Message, Message_Npl_Message, Message_State_Request_Message, Message_State_Response_Message, Message_History_Request_Message, Message_History_Response_Message, Message_Connected_Status_Announcement_Message }; return values; } inline const char * const *EnumNamesMessage() { static const char * const names[12] = { "NONE", "Peer_Challenge_Response_Message", "Peer_Challenge_Message", "NonUnl_Proposal_Message", "Proposal_Message", "Npl_Message", "State_Request_Message", "State_Response_Message", "History_Request_Message", "History_Response_Message", "Connected_Status_Announcement_Message", nullptr }; return names; } inline const char *EnumNameMessage(Message e) { if (flatbuffers::IsOutRange(e, Message_NONE, Message_Connected_Status_Announcement_Message)) return ""; const size_t index = static_cast(e); return EnumNamesMessage()[index]; } template struct MessageTraits { static const Message enum_value = Message_NONE; }; template<> struct MessageTraits { static const Message enum_value = Message_Peer_Challenge_Response_Message; }; template<> struct MessageTraits { static const Message enum_value = Message_Peer_Challenge_Message; }; template<> struct MessageTraits { static const Message enum_value = Message_NonUnl_Proposal_Message; }; template<> struct MessageTraits { static const Message enum_value = Message_Proposal_Message; }; template<> struct MessageTraits { static const Message enum_value = Message_Npl_Message; }; template<> struct MessageTraits { static const Message enum_value = Message_State_Request_Message; }; template<> struct MessageTraits { static const Message enum_value = Message_State_Response_Message; }; template<> struct MessageTraits { static const Message enum_value = Message_History_Request_Message; }; template<> struct MessageTraits { static const Message enum_value = Message_History_Response_Message; }; template<> struct MessageTraits { static const Message enum_value = Message_Connected_Status_Announcement_Message; }; bool VerifyMessage(flatbuffers::Verifier &verifier, const void *obj, Message type); bool VerifyMessageVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); enum Ledger_Response_Error { Ledger_Response_Error_None = 0, Ledger_Response_Error_Invalid_Min_Ledger = 1, Ledger_Response_Error_Req_Ledger_Not_Found = 2, Ledger_Response_Error_MIN = Ledger_Response_Error_None, Ledger_Response_Error_MAX = Ledger_Response_Error_Req_Ledger_Not_Found }; inline const Ledger_Response_Error (&EnumValuesLedger_Response_Error())[3] { static const Ledger_Response_Error values[] = { Ledger_Response_Error_None, Ledger_Response_Error_Invalid_Min_Ledger, Ledger_Response_Error_Req_Ledger_Not_Found }; return values; } inline const char * const *EnumNamesLedger_Response_Error() { static const char * const names[4] = { "None", "Invalid_Min_Ledger", "Req_Ledger_Not_Found", nullptr }; return names; } inline const char *EnumNameLedger_Response_Error(Ledger_Response_Error e) { if (flatbuffers::IsOutRange(e, Ledger_Response_Error_None, Ledger_Response_Error_Req_Ledger_Not_Found)) return ""; const size_t index = static_cast(e); return EnumNamesLedger_Response_Error()[index]; } enum State_Response { State_Response_NONE = 0, State_Response_File_HashMap_Response = 1, State_Response_Block_Response = 2, State_Response_Fs_Entry_Response = 3, State_Response_MIN = State_Response_NONE, State_Response_MAX = State_Response_Fs_Entry_Response }; inline const State_Response (&EnumValuesState_Response())[4] { static const State_Response values[] = { State_Response_NONE, State_Response_File_HashMap_Response, State_Response_Block_Response, State_Response_Fs_Entry_Response }; return values; } inline const char * const *EnumNamesState_Response() { static const char * const names[5] = { "NONE", "File_HashMap_Response", "Block_Response", "Fs_Entry_Response", nullptr }; return names; } inline const char *EnumNameState_Response(State_Response e) { if (flatbuffers::IsOutRange(e, State_Response_NONE, State_Response_Fs_Entry_Response)) return ""; const size_t index = static_cast(e); return EnumNamesState_Response()[index]; } template struct State_ResponseTraits { static const State_Response enum_value = State_Response_NONE; }; template<> struct State_ResponseTraits { static const State_Response enum_value = State_Response_File_HashMap_Response; }; template<> struct State_ResponseTraits { static const State_Response enum_value = State_Response_Block_Response; }; template<> struct State_ResponseTraits { static const State_Response enum_value = State_Response_Fs_Entry_Response; }; bool VerifyState_Response(flatbuffers::Verifier &verifier, const void *obj, State_Response type); bool VerifyState_ResponseVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); struct Peer_Challenge_Message FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Peer_Challenge_MessageBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_CHALLENGE = 4 }; const flatbuffers::Vector *challenge() const { return GetPointer *>(VT_CHALLENGE); } flatbuffers::Vector *mutable_challenge() { return GetPointer *>(VT_CHALLENGE); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_CHALLENGE) && verifier.VerifyVector(challenge()) && verifier.EndTable(); } }; struct Peer_Challenge_MessageBuilder { typedef Peer_Challenge_Message Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_challenge(flatbuffers::Offset> challenge) { fbb_.AddOffset(Peer_Challenge_Message::VT_CHALLENGE, challenge); } explicit Peer_Challenge_MessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePeer_Challenge_Message( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> challenge = 0) { Peer_Challenge_MessageBuilder builder_(_fbb); builder_.add_challenge(challenge); return builder_.Finish(); } inline flatbuffers::Offset CreatePeer_Challenge_MessageDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *challenge = nullptr) { auto challenge__ = challenge ? _fbb.CreateVector(*challenge) : 0; return msg::fbuf::p2pmsg::CreatePeer_Challenge_Message( _fbb, challenge__); } struct Peer_Challenge_Response_Message FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Peer_Challenge_Response_MessageBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_CHALLENGE = 4, VT_SIG = 6 }; const flatbuffers::Vector *challenge() const { return GetPointer *>(VT_CHALLENGE); } flatbuffers::Vector *mutable_challenge() { return GetPointer *>(VT_CHALLENGE); } const flatbuffers::Vector *sig() const { return GetPointer *>(VT_SIG); } flatbuffers::Vector *mutable_sig() { return GetPointer *>(VT_SIG); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_CHALLENGE) && verifier.VerifyVector(challenge()) && VerifyOffset(verifier, VT_SIG) && verifier.VerifyVector(sig()) && verifier.EndTable(); } }; struct Peer_Challenge_Response_MessageBuilder { typedef Peer_Challenge_Response_Message Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_challenge(flatbuffers::Offset> challenge) { fbb_.AddOffset(Peer_Challenge_Response_Message::VT_CHALLENGE, challenge); } void add_sig(flatbuffers::Offset> sig) { fbb_.AddOffset(Peer_Challenge_Response_Message::VT_SIG, sig); } explicit Peer_Challenge_Response_MessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePeer_Challenge_Response_Message( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> challenge = 0, flatbuffers::Offset> sig = 0) { Peer_Challenge_Response_MessageBuilder builder_(_fbb); builder_.add_sig(sig); builder_.add_challenge(challenge); return builder_.Finish(); } inline flatbuffers::Offset CreatePeer_Challenge_Response_MessageDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *challenge = nullptr, const std::vector *sig = nullptr) { auto challenge__ = challenge ? _fbb.CreateVector(*challenge) : 0; auto sig__ = sig ? _fbb.CreateVector(*sig) : 0; return msg::fbuf::p2pmsg::CreatePeer_Challenge_Response_Message( _fbb, challenge__, sig__); } struct UserInput FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef UserInputBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_INPUT_CONTAINER = 4, VT_SIGNATURE = 6, VT_PROTOCOL = 8 }; const flatbuffers::Vector *input_container() const { return GetPointer *>(VT_INPUT_CONTAINER); } flatbuffers::Vector *mutable_input_container() { return GetPointer *>(VT_INPUT_CONTAINER); } const flatbuffers::Vector *signature() const { return GetPointer *>(VT_SIGNATURE); } flatbuffers::Vector *mutable_signature() { return GetPointer *>(VT_SIGNATURE); } uint8_t protocol() const { return GetField(VT_PROTOCOL, 0); } bool mutate_protocol(uint8_t _protocol) { return SetField(VT_PROTOCOL, _protocol, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_INPUT_CONTAINER) && verifier.VerifyVector(input_container()) && VerifyOffset(verifier, VT_SIGNATURE) && verifier.VerifyVector(signature()) && VerifyField(verifier, VT_PROTOCOL) && verifier.EndTable(); } }; struct UserInputBuilder { typedef UserInput Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_input_container(flatbuffers::Offset> input_container) { fbb_.AddOffset(UserInput::VT_INPUT_CONTAINER, input_container); } void add_signature(flatbuffers::Offset> signature) { fbb_.AddOffset(UserInput::VT_SIGNATURE, signature); } void add_protocol(uint8_t protocol) { fbb_.AddElement(UserInput::VT_PROTOCOL, protocol, 0); } explicit UserInputBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateUserInput( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> input_container = 0, flatbuffers::Offset> signature = 0, uint8_t protocol = 0) { UserInputBuilder builder_(_fbb); builder_.add_signature(signature); builder_.add_input_container(input_container); builder_.add_protocol(protocol); return builder_.Finish(); } inline flatbuffers::Offset CreateUserInputDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *input_container = nullptr, const std::vector *signature = nullptr, uint8_t protocol = 0) { auto input_container__ = input_container ? _fbb.CreateVector(*input_container) : 0; auto signature__ = signature ? _fbb.CreateVector(*signature) : 0; return msg::fbuf::p2pmsg::CreateUserInput( _fbb, input_container__, signature__, protocol); } struct UserInputGroup FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef UserInputGroupBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_PUBKEY = 4, VT_MESSAGES = 6 }; const flatbuffers::Vector *pubkey() const { return GetPointer *>(VT_PUBKEY); } flatbuffers::Vector *mutable_pubkey() { return GetPointer *>(VT_PUBKEY); } const flatbuffers::Vector> *messages() const { return GetPointer> *>(VT_MESSAGES); } flatbuffers::Vector> *mutable_messages() { return GetPointer> *>(VT_MESSAGES); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_PUBKEY) && verifier.VerifyVector(pubkey()) && VerifyOffset(verifier, VT_MESSAGES) && verifier.VerifyVector(messages()) && verifier.VerifyVectorOfTables(messages()) && verifier.EndTable(); } }; struct UserInputGroupBuilder { typedef UserInputGroup Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_pubkey(flatbuffers::Offset> pubkey) { fbb_.AddOffset(UserInputGroup::VT_PUBKEY, pubkey); } void add_messages(flatbuffers::Offset>> messages) { fbb_.AddOffset(UserInputGroup::VT_MESSAGES, messages); } explicit UserInputGroupBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateUserInputGroup( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> pubkey = 0, flatbuffers::Offset>> messages = 0) { UserInputGroupBuilder builder_(_fbb); builder_.add_messages(messages); builder_.add_pubkey(pubkey); return builder_.Finish(); } inline flatbuffers::Offset CreateUserInputGroupDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *pubkey = nullptr, const std::vector> *messages = nullptr) { auto pubkey__ = pubkey ? _fbb.CreateVector(*pubkey) : 0; auto messages__ = messages ? _fbb.CreateVector>(*messages) : 0; return msg::fbuf::p2pmsg::CreateUserInputGroup( _fbb, pubkey__, messages__); } struct Content FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ContentBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_MESSAGE_TYPE = 4, VT_MESSAGE = 6 }; msg::fbuf::p2pmsg::Message message_type() const { return static_cast(GetField(VT_MESSAGE_TYPE, 0)); } const void *message() const { return GetPointer(VT_MESSAGE); } template const T *message_as() const; const msg::fbuf::p2pmsg::Peer_Challenge_Response_Message *message_as_Peer_Challenge_Response_Message() const { return message_type() == msg::fbuf::p2pmsg::Message_Peer_Challenge_Response_Message ? static_cast(message()) : nullptr; } const msg::fbuf::p2pmsg::Peer_Challenge_Message *message_as_Peer_Challenge_Message() const { return message_type() == msg::fbuf::p2pmsg::Message_Peer_Challenge_Message ? static_cast(message()) : nullptr; } const msg::fbuf::p2pmsg::NonUnl_Proposal_Message *message_as_NonUnl_Proposal_Message() const { return message_type() == msg::fbuf::p2pmsg::Message_NonUnl_Proposal_Message ? static_cast(message()) : nullptr; } const msg::fbuf::p2pmsg::Proposal_Message *message_as_Proposal_Message() const { return message_type() == msg::fbuf::p2pmsg::Message_Proposal_Message ? static_cast(message()) : nullptr; } const msg::fbuf::p2pmsg::Npl_Message *message_as_Npl_Message() const { return message_type() == msg::fbuf::p2pmsg::Message_Npl_Message ? static_cast(message()) : nullptr; } const msg::fbuf::p2pmsg::State_Request_Message *message_as_State_Request_Message() const { return message_type() == msg::fbuf::p2pmsg::Message_State_Request_Message ? static_cast(message()) : nullptr; } const msg::fbuf::p2pmsg::State_Response_Message *message_as_State_Response_Message() const { return message_type() == msg::fbuf::p2pmsg::Message_State_Response_Message ? static_cast(message()) : nullptr; } const msg::fbuf::p2pmsg::History_Request_Message *message_as_History_Request_Message() const { return message_type() == msg::fbuf::p2pmsg::Message_History_Request_Message ? static_cast(message()) : nullptr; } const msg::fbuf::p2pmsg::History_Response_Message *message_as_History_Response_Message() const { return message_type() == msg::fbuf::p2pmsg::Message_History_Response_Message ? static_cast(message()) : nullptr; } const msg::fbuf::p2pmsg::Connected_Status_Announcement_Message *message_as_Connected_Status_Announcement_Message() const { return message_type() == msg::fbuf::p2pmsg::Message_Connected_Status_Announcement_Message ? static_cast(message()) : nullptr; } void *mutable_message() { return GetPointer(VT_MESSAGE); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_MESSAGE_TYPE) && VerifyOffset(verifier, VT_MESSAGE) && VerifyMessage(verifier, message(), message_type()) && verifier.EndTable(); } }; template<> inline const msg::fbuf::p2pmsg::Peer_Challenge_Response_Message *Content::message_as() const { return message_as_Peer_Challenge_Response_Message(); } template<> inline const msg::fbuf::p2pmsg::Peer_Challenge_Message *Content::message_as() const { return message_as_Peer_Challenge_Message(); } template<> inline const msg::fbuf::p2pmsg::NonUnl_Proposal_Message *Content::message_as() const { return message_as_NonUnl_Proposal_Message(); } template<> inline const msg::fbuf::p2pmsg::Proposal_Message *Content::message_as() const { return message_as_Proposal_Message(); } template<> inline const msg::fbuf::p2pmsg::Npl_Message *Content::message_as() const { return message_as_Npl_Message(); } template<> inline const msg::fbuf::p2pmsg::State_Request_Message *Content::message_as() const { return message_as_State_Request_Message(); } template<> inline const msg::fbuf::p2pmsg::State_Response_Message *Content::message_as() const { return message_as_State_Response_Message(); } template<> inline const msg::fbuf::p2pmsg::History_Request_Message *Content::message_as() const { return message_as_History_Request_Message(); } template<> inline const msg::fbuf::p2pmsg::History_Response_Message *Content::message_as() const { return message_as_History_Response_Message(); } template<> inline const msg::fbuf::p2pmsg::Connected_Status_Announcement_Message *Content::message_as() const { return message_as_Connected_Status_Announcement_Message(); } struct ContentBuilder { typedef Content Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_message_type(msg::fbuf::p2pmsg::Message message_type) { fbb_.AddElement(Content::VT_MESSAGE_TYPE, static_cast(message_type), 0); } void add_message(flatbuffers::Offset message) { fbb_.AddOffset(Content::VT_MESSAGE, message); } explicit ContentBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateContent( flatbuffers::FlatBufferBuilder &_fbb, msg::fbuf::p2pmsg::Message message_type = msg::fbuf::p2pmsg::Message_NONE, flatbuffers::Offset message = 0) { ContentBuilder builder_(_fbb); builder_.add_message(message); builder_.add_message_type(message_type); return builder_.Finish(); } struct NonUnl_Proposal_Message FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef NonUnl_Proposal_MessageBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_USER_INPUTS = 4 }; const flatbuffers::Vector> *user_inputs() const { return GetPointer> *>(VT_USER_INPUTS); } flatbuffers::Vector> *mutable_user_inputs() { return GetPointer> *>(VT_USER_INPUTS); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_USER_INPUTS) && verifier.VerifyVector(user_inputs()) && verifier.VerifyVectorOfTables(user_inputs()) && verifier.EndTable(); } }; struct NonUnl_Proposal_MessageBuilder { typedef NonUnl_Proposal_Message Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_user_inputs(flatbuffers::Offset>> user_inputs) { fbb_.AddOffset(NonUnl_Proposal_Message::VT_USER_INPUTS, user_inputs); } explicit NonUnl_Proposal_MessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateNonUnl_Proposal_Message( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset>> user_inputs = 0) { NonUnl_Proposal_MessageBuilder builder_(_fbb); builder_.add_user_inputs(user_inputs); return builder_.Finish(); } inline flatbuffers::Offset CreateNonUnl_Proposal_MessageDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector> *user_inputs = nullptr) { auto user_inputs__ = user_inputs ? _fbb.CreateVector>(*user_inputs) : 0; return msg::fbuf::p2pmsg::CreateNonUnl_Proposal_Message( _fbb, user_inputs__); } struct Proposal_Message FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Proposal_MessageBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_STAGE = 4, VT_TIME = 6, VT_USERS = 8, VT_HASH_INPUTS = 10, VT_HASH_OUTPUTS = 12, VT_STATE = 14 }; uint8_t stage() const { return GetField(VT_STAGE, 0); } bool mutate_stage(uint8_t _stage) { return SetField(VT_STAGE, _stage, 0); } uint64_t time() const { return GetField(VT_TIME, 0); } bool mutate_time(uint64_t _time) { return SetField(VT_TIME, _time, 0); } const flatbuffers::Vector> *users() const { return GetPointer> *>(VT_USERS); } flatbuffers::Vector> *mutable_users() { return GetPointer> *>(VT_USERS); } const flatbuffers::Vector> *hash_inputs() const { return GetPointer> *>(VT_HASH_INPUTS); } flatbuffers::Vector> *mutable_hash_inputs() { return GetPointer> *>(VT_HASH_INPUTS); } const flatbuffers::Vector> *hash_outputs() const { return GetPointer> *>(VT_HASH_OUTPUTS); } flatbuffers::Vector> *mutable_hash_outputs() { return GetPointer> *>(VT_HASH_OUTPUTS); } const flatbuffers::Vector *state() const { return GetPointer *>(VT_STATE); } flatbuffers::Vector *mutable_state() { return GetPointer *>(VT_STATE); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_STAGE) && VerifyField(verifier, VT_TIME) && VerifyOffset(verifier, VT_USERS) && verifier.VerifyVector(users()) && verifier.VerifyVectorOfTables(users()) && VerifyOffset(verifier, VT_HASH_INPUTS) && verifier.VerifyVector(hash_inputs()) && verifier.VerifyVectorOfTables(hash_inputs()) && VerifyOffset(verifier, VT_HASH_OUTPUTS) && verifier.VerifyVector(hash_outputs()) && verifier.VerifyVectorOfTables(hash_outputs()) && VerifyOffset(verifier, VT_STATE) && verifier.VerifyVector(state()) && verifier.EndTable(); } }; struct Proposal_MessageBuilder { typedef Proposal_Message Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_stage(uint8_t stage) { fbb_.AddElement(Proposal_Message::VT_STAGE, stage, 0); } void add_time(uint64_t time) { fbb_.AddElement(Proposal_Message::VT_TIME, time, 0); } void add_users(flatbuffers::Offset>> users) { fbb_.AddOffset(Proposal_Message::VT_USERS, users); } void add_hash_inputs(flatbuffers::Offset>> hash_inputs) { fbb_.AddOffset(Proposal_Message::VT_HASH_INPUTS, hash_inputs); } void add_hash_outputs(flatbuffers::Offset>> hash_outputs) { fbb_.AddOffset(Proposal_Message::VT_HASH_OUTPUTS, hash_outputs); } void add_state(flatbuffers::Offset> state) { fbb_.AddOffset(Proposal_Message::VT_STATE, state); } explicit Proposal_MessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateProposal_Message( flatbuffers::FlatBufferBuilder &_fbb, uint8_t stage = 0, uint64_t time = 0, flatbuffers::Offset>> users = 0, flatbuffers::Offset>> hash_inputs = 0, flatbuffers::Offset>> hash_outputs = 0, flatbuffers::Offset> state = 0) { Proposal_MessageBuilder builder_(_fbb); builder_.add_time(time); builder_.add_state(state); builder_.add_hash_outputs(hash_outputs); builder_.add_hash_inputs(hash_inputs); builder_.add_users(users); builder_.add_stage(stage); return builder_.Finish(); } inline flatbuffers::Offset CreateProposal_MessageDirect( flatbuffers::FlatBufferBuilder &_fbb, uint8_t stage = 0, uint64_t time = 0, const std::vector> *users = nullptr, const std::vector> *hash_inputs = nullptr, const std::vector> *hash_outputs = nullptr, const std::vector *state = nullptr) { auto users__ = users ? _fbb.CreateVector>(*users) : 0; auto hash_inputs__ = hash_inputs ? _fbb.CreateVector>(*hash_inputs) : 0; auto hash_outputs__ = hash_outputs ? _fbb.CreateVector>(*hash_outputs) : 0; auto state__ = state ? _fbb.CreateVector(*state) : 0; return msg::fbuf::p2pmsg::CreateProposal_Message( _fbb, stage, time, users__, hash_inputs__, hash_outputs__, state__); } struct Npl_Message FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Npl_MessageBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_DATA = 4 }; const flatbuffers::Vector *data() const { return GetPointer *>(VT_DATA); } flatbuffers::Vector *mutable_data() { return GetPointer *>(VT_DATA); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_DATA) && verifier.VerifyVector(data()) && verifier.EndTable(); } }; struct Npl_MessageBuilder { typedef Npl_Message Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_data(flatbuffers::Offset> data) { fbb_.AddOffset(Npl_Message::VT_DATA, data); } explicit Npl_MessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateNpl_Message( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> data = 0) { Npl_MessageBuilder builder_(_fbb); builder_.add_data(data); return builder_.Finish(); } inline flatbuffers::Offset CreateNpl_MessageDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *data = nullptr) { auto data__ = data ? _fbb.CreateVector(*data) : 0; return msg::fbuf::p2pmsg::CreateNpl_Message( _fbb, data__); } struct History_Request_Message FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef History_Request_MessageBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_MINIMUM_LCL = 4, VT_REQUIRED_LCL = 6 }; const flatbuffers::Vector *minimum_lcl() const { return GetPointer *>(VT_MINIMUM_LCL); } flatbuffers::Vector *mutable_minimum_lcl() { return GetPointer *>(VT_MINIMUM_LCL); } const flatbuffers::Vector *required_lcl() const { return GetPointer *>(VT_REQUIRED_LCL); } flatbuffers::Vector *mutable_required_lcl() { return GetPointer *>(VT_REQUIRED_LCL); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_MINIMUM_LCL) && verifier.VerifyVector(minimum_lcl()) && VerifyOffset(verifier, VT_REQUIRED_LCL) && verifier.VerifyVector(required_lcl()) && verifier.EndTable(); } }; struct History_Request_MessageBuilder { typedef History_Request_Message Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_minimum_lcl(flatbuffers::Offset> minimum_lcl) { fbb_.AddOffset(History_Request_Message::VT_MINIMUM_LCL, minimum_lcl); } void add_required_lcl(flatbuffers::Offset> required_lcl) { fbb_.AddOffset(History_Request_Message::VT_REQUIRED_LCL, required_lcl); } explicit History_Request_MessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateHistory_Request_Message( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> minimum_lcl = 0, flatbuffers::Offset> required_lcl = 0) { History_Request_MessageBuilder builder_(_fbb); builder_.add_required_lcl(required_lcl); builder_.add_minimum_lcl(minimum_lcl); return builder_.Finish(); } inline flatbuffers::Offset CreateHistory_Request_MessageDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *minimum_lcl = nullptr, const std::vector *required_lcl = nullptr) { auto minimum_lcl__ = minimum_lcl ? _fbb.CreateVector(*minimum_lcl) : 0; auto required_lcl__ = required_lcl ? _fbb.CreateVector(*required_lcl) : 0; return msg::fbuf::p2pmsg::CreateHistory_Request_Message( _fbb, minimum_lcl__, required_lcl__); } struct History_Response_Message FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef History_Response_MessageBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_REQUESTER_LCL = 4, VT_HIST_LEDGERS = 6, VT_ERROR = 8 }; const flatbuffers::Vector *requester_lcl() const { return GetPointer *>(VT_REQUESTER_LCL); } flatbuffers::Vector *mutable_requester_lcl() { return GetPointer *>(VT_REQUESTER_LCL); } const flatbuffers::Vector> *hist_ledgers() const { return GetPointer> *>(VT_HIST_LEDGERS); } flatbuffers::Vector> *mutable_hist_ledgers() { return GetPointer> *>(VT_HIST_LEDGERS); } msg::fbuf::p2pmsg::Ledger_Response_Error error() const { return static_cast(GetField(VT_ERROR, 0)); } bool mutate_error(msg::fbuf::p2pmsg::Ledger_Response_Error _error) { return SetField(VT_ERROR, static_cast(_error), 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_REQUESTER_LCL) && verifier.VerifyVector(requester_lcl()) && VerifyOffset(verifier, VT_HIST_LEDGERS) && verifier.VerifyVector(hist_ledgers()) && verifier.VerifyVectorOfTables(hist_ledgers()) && VerifyField(verifier, VT_ERROR) && verifier.EndTable(); } }; struct History_Response_MessageBuilder { typedef History_Response_Message Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_requester_lcl(flatbuffers::Offset> requester_lcl) { fbb_.AddOffset(History_Response_Message::VT_REQUESTER_LCL, requester_lcl); } void add_hist_ledgers(flatbuffers::Offset>> hist_ledgers) { fbb_.AddOffset(History_Response_Message::VT_HIST_LEDGERS, hist_ledgers); } void add_error(msg::fbuf::p2pmsg::Ledger_Response_Error error) { fbb_.AddElement(History_Response_Message::VT_ERROR, static_cast(error), 0); } explicit History_Response_MessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateHistory_Response_Message( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> requester_lcl = 0, flatbuffers::Offset>> hist_ledgers = 0, msg::fbuf::p2pmsg::Ledger_Response_Error error = msg::fbuf::p2pmsg::Ledger_Response_Error_None) { History_Response_MessageBuilder builder_(_fbb); builder_.add_hist_ledgers(hist_ledgers); builder_.add_requester_lcl(requester_lcl); builder_.add_error(error); return builder_.Finish(); } inline flatbuffers::Offset CreateHistory_Response_MessageDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *requester_lcl = nullptr, const std::vector> *hist_ledgers = nullptr, msg::fbuf::p2pmsg::Ledger_Response_Error error = msg::fbuf::p2pmsg::Ledger_Response_Error_None) { auto requester_lcl__ = requester_lcl ? _fbb.CreateVector(*requester_lcl) : 0; auto hist_ledgers__ = hist_ledgers ? _fbb.CreateVector>(*hist_ledgers) : 0; return msg::fbuf::p2pmsg::CreateHistory_Response_Message( _fbb, requester_lcl__, hist_ledgers__, error); } struct HistoryLedgerPair FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef HistoryLedgerPairBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_SEQ_NO = 4, VT_LEDGER = 6 }; uint64_t seq_no() const { return GetField(VT_SEQ_NO, 0); } bool mutate_seq_no(uint64_t _seq_no) { return SetField(VT_SEQ_NO, _seq_no, 0); } const msg::fbuf::p2pmsg::HistoryLedger *ledger() const { return GetPointer(VT_LEDGER); } msg::fbuf::p2pmsg::HistoryLedger *mutable_ledger() { return GetPointer(VT_LEDGER); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_SEQ_NO) && VerifyOffset(verifier, VT_LEDGER) && verifier.VerifyTable(ledger()) && verifier.EndTable(); } }; struct HistoryLedgerPairBuilder { typedef HistoryLedgerPair Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_seq_no(uint64_t seq_no) { fbb_.AddElement(HistoryLedgerPair::VT_SEQ_NO, seq_no, 0); } void add_ledger(flatbuffers::Offset ledger) { fbb_.AddOffset(HistoryLedgerPair::VT_LEDGER, ledger); } explicit HistoryLedgerPairBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateHistoryLedgerPair( flatbuffers::FlatBufferBuilder &_fbb, uint64_t seq_no = 0, flatbuffers::Offset ledger = 0) { HistoryLedgerPairBuilder builder_(_fbb); builder_.add_seq_no(seq_no); builder_.add_ledger(ledger); return builder_.Finish(); } struct HistoryLedger FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef HistoryLedgerBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_LCL = 4, VT_RAW_LEDGER = 6 }; const flatbuffers::Vector *lcl() const { return GetPointer *>(VT_LCL); } flatbuffers::Vector *mutable_lcl() { return GetPointer *>(VT_LCL); } const flatbuffers::Vector *raw_ledger() const { return GetPointer *>(VT_RAW_LEDGER); } flatbuffers::Vector *mutable_raw_ledger() { return GetPointer *>(VT_RAW_LEDGER); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_LCL) && verifier.VerifyVector(lcl()) && VerifyOffset(verifier, VT_RAW_LEDGER) && verifier.VerifyVector(raw_ledger()) && verifier.EndTable(); } }; struct HistoryLedgerBuilder { typedef HistoryLedger Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_lcl(flatbuffers::Offset> lcl) { fbb_.AddOffset(HistoryLedger::VT_LCL, lcl); } void add_raw_ledger(flatbuffers::Offset> raw_ledger) { fbb_.AddOffset(HistoryLedger::VT_RAW_LEDGER, raw_ledger); } explicit HistoryLedgerBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateHistoryLedger( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> lcl = 0, flatbuffers::Offset> raw_ledger = 0) { HistoryLedgerBuilder builder_(_fbb); builder_.add_raw_ledger(raw_ledger); builder_.add_lcl(lcl); return builder_.Finish(); } inline flatbuffers::Offset CreateHistoryLedgerDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *lcl = nullptr, const std::vector *raw_ledger = nullptr) { auto lcl__ = lcl ? _fbb.CreateVector(*lcl) : 0; auto raw_ledger__ = raw_ledger ? _fbb.CreateVector(*raw_ledger) : 0; return msg::fbuf::p2pmsg::CreateHistoryLedger( _fbb, lcl__, raw_ledger__); } struct State_Request_Message FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef State_Request_MessageBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_PARENT_PATH = 4, VT_IS_FILE = 6, VT_BLOCK_ID = 8, VT_EXPECTED_HASH = 10 }; const flatbuffers::String *parent_path() const { return GetPointer(VT_PARENT_PATH); } flatbuffers::String *mutable_parent_path() { return GetPointer(VT_PARENT_PATH); } bool is_file() const { return GetField(VT_IS_FILE, 0) != 0; } bool mutate_is_file(bool _is_file) { return SetField(VT_IS_FILE, static_cast(_is_file), 0); } int32_t block_id() const { return GetField(VT_BLOCK_ID, 0); } bool mutate_block_id(int32_t _block_id) { return SetField(VT_BLOCK_ID, _block_id, 0); } const flatbuffers::Vector *expected_hash() const { return GetPointer *>(VT_EXPECTED_HASH); } flatbuffers::Vector *mutable_expected_hash() { return GetPointer *>(VT_EXPECTED_HASH); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_PARENT_PATH) && verifier.VerifyString(parent_path()) && VerifyField(verifier, VT_IS_FILE) && VerifyField(verifier, VT_BLOCK_ID) && VerifyOffset(verifier, VT_EXPECTED_HASH) && verifier.VerifyVector(expected_hash()) && verifier.EndTable(); } }; struct State_Request_MessageBuilder { typedef State_Request_Message Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_parent_path(flatbuffers::Offset parent_path) { fbb_.AddOffset(State_Request_Message::VT_PARENT_PATH, parent_path); } void add_is_file(bool is_file) { fbb_.AddElement(State_Request_Message::VT_IS_FILE, static_cast(is_file), 0); } void add_block_id(int32_t block_id) { fbb_.AddElement(State_Request_Message::VT_BLOCK_ID, block_id, 0); } void add_expected_hash(flatbuffers::Offset> expected_hash) { fbb_.AddOffset(State_Request_Message::VT_EXPECTED_HASH, expected_hash); } explicit State_Request_MessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateState_Request_Message( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset parent_path = 0, bool is_file = false, int32_t block_id = 0, flatbuffers::Offset> expected_hash = 0) { State_Request_MessageBuilder builder_(_fbb); builder_.add_expected_hash(expected_hash); builder_.add_block_id(block_id); builder_.add_parent_path(parent_path); builder_.add_is_file(is_file); return builder_.Finish(); } inline flatbuffers::Offset CreateState_Request_MessageDirect( flatbuffers::FlatBufferBuilder &_fbb, const char *parent_path = nullptr, bool is_file = false, int32_t block_id = 0, const std::vector *expected_hash = nullptr) { auto parent_path__ = parent_path ? _fbb.CreateString(parent_path) : 0; auto expected_hash__ = expected_hash ? _fbb.CreateVector(*expected_hash) : 0; return msg::fbuf::p2pmsg::CreateState_Request_Message( _fbb, parent_path__, is_file, block_id, expected_hash__); } struct State_Response_Message FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef State_Response_MessageBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_STATE_RESPONSE_TYPE = 4, VT_STATE_RESPONSE = 6, VT_HASH = 8, VT_PATH = 10 }; msg::fbuf::p2pmsg::State_Response state_response_type() const { return static_cast(GetField(VT_STATE_RESPONSE_TYPE, 0)); } const void *state_response() const { return GetPointer(VT_STATE_RESPONSE); } template const T *state_response_as() const; const msg::fbuf::p2pmsg::File_HashMap_Response *state_response_as_File_HashMap_Response() const { return state_response_type() == msg::fbuf::p2pmsg::State_Response_File_HashMap_Response ? static_cast(state_response()) : nullptr; } const msg::fbuf::p2pmsg::Block_Response *state_response_as_Block_Response() const { return state_response_type() == msg::fbuf::p2pmsg::State_Response_Block_Response ? static_cast(state_response()) : nullptr; } const msg::fbuf::p2pmsg::Fs_Entry_Response *state_response_as_Fs_Entry_Response() const { return state_response_type() == msg::fbuf::p2pmsg::State_Response_Fs_Entry_Response ? static_cast(state_response()) : nullptr; } void *mutable_state_response() { return GetPointer(VT_STATE_RESPONSE); } const flatbuffers::Vector *hash() const { return GetPointer *>(VT_HASH); } flatbuffers::Vector *mutable_hash() { return GetPointer *>(VT_HASH); } const flatbuffers::String *path() const { return GetPointer(VT_PATH); } flatbuffers::String *mutable_path() { return GetPointer(VT_PATH); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_STATE_RESPONSE_TYPE) && VerifyOffset(verifier, VT_STATE_RESPONSE) && VerifyState_Response(verifier, state_response(), state_response_type()) && VerifyOffset(verifier, VT_HASH) && verifier.VerifyVector(hash()) && VerifyOffset(verifier, VT_PATH) && verifier.VerifyString(path()) && verifier.EndTable(); } }; template<> inline const msg::fbuf::p2pmsg::File_HashMap_Response *State_Response_Message::state_response_as() const { return state_response_as_File_HashMap_Response(); } template<> inline const msg::fbuf::p2pmsg::Block_Response *State_Response_Message::state_response_as() const { return state_response_as_Block_Response(); } template<> inline const msg::fbuf::p2pmsg::Fs_Entry_Response *State_Response_Message::state_response_as() const { return state_response_as_Fs_Entry_Response(); } struct State_Response_MessageBuilder { typedef State_Response_Message Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_state_response_type(msg::fbuf::p2pmsg::State_Response state_response_type) { fbb_.AddElement(State_Response_Message::VT_STATE_RESPONSE_TYPE, static_cast(state_response_type), 0); } void add_state_response(flatbuffers::Offset state_response) { fbb_.AddOffset(State_Response_Message::VT_STATE_RESPONSE, state_response); } void add_hash(flatbuffers::Offset> hash) { fbb_.AddOffset(State_Response_Message::VT_HASH, hash); } void add_path(flatbuffers::Offset path) { fbb_.AddOffset(State_Response_Message::VT_PATH, path); } explicit State_Response_MessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateState_Response_Message( flatbuffers::FlatBufferBuilder &_fbb, msg::fbuf::p2pmsg::State_Response state_response_type = msg::fbuf::p2pmsg::State_Response_NONE, flatbuffers::Offset state_response = 0, flatbuffers::Offset> hash = 0, flatbuffers::Offset path = 0) { State_Response_MessageBuilder builder_(_fbb); builder_.add_path(path); builder_.add_hash(hash); builder_.add_state_response(state_response); builder_.add_state_response_type(state_response_type); return builder_.Finish(); } inline flatbuffers::Offset CreateState_Response_MessageDirect( flatbuffers::FlatBufferBuilder &_fbb, msg::fbuf::p2pmsg::State_Response state_response_type = msg::fbuf::p2pmsg::State_Response_NONE, flatbuffers::Offset state_response = 0, const std::vector *hash = nullptr, const char *path = nullptr) { auto hash__ = hash ? _fbb.CreateVector(*hash) : 0; auto path__ = path ? _fbb.CreateString(path) : 0; return msg::fbuf::p2pmsg::CreateState_Response_Message( _fbb, state_response_type, state_response, hash__, path__); } struct Fs_Entry_Response FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Fs_Entry_ResponseBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ENTRIES = 4 }; const flatbuffers::Vector> *entries() const { return GetPointer> *>(VT_ENTRIES); } flatbuffers::Vector> *mutable_entries() { return GetPointer> *>(VT_ENTRIES); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_ENTRIES) && verifier.VerifyVector(entries()) && verifier.VerifyVectorOfTables(entries()) && verifier.EndTable(); } }; struct Fs_Entry_ResponseBuilder { typedef Fs_Entry_Response Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_entries(flatbuffers::Offset>> entries) { fbb_.AddOffset(Fs_Entry_Response::VT_ENTRIES, entries); } explicit Fs_Entry_ResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFs_Entry_Response( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset>> entries = 0) { Fs_Entry_ResponseBuilder builder_(_fbb); builder_.add_entries(entries); return builder_.Finish(); } inline flatbuffers::Offset CreateFs_Entry_ResponseDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector> *entries = nullptr) { auto entries__ = entries ? _fbb.CreateVector>(*entries) : 0; return msg::fbuf::p2pmsg::CreateFs_Entry_Response( _fbb, entries__); } struct File_HashMap_Response FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef File_HashMap_ResponseBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FILE_LENGTH = 4, VT_HASH_MAP = 6 }; uint64_t file_length() const { return GetField(VT_FILE_LENGTH, 0); } bool mutate_file_length(uint64_t _file_length) { return SetField(VT_FILE_LENGTH, _file_length, 0); } const flatbuffers::Vector *hash_map() const { return GetPointer *>(VT_HASH_MAP); } flatbuffers::Vector *mutable_hash_map() { return GetPointer *>(VT_HASH_MAP); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FILE_LENGTH) && VerifyOffset(verifier, VT_HASH_MAP) && verifier.VerifyVector(hash_map()) && verifier.EndTable(); } }; struct File_HashMap_ResponseBuilder { typedef File_HashMap_Response Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_file_length(uint64_t file_length) { fbb_.AddElement(File_HashMap_Response::VT_FILE_LENGTH, file_length, 0); } void add_hash_map(flatbuffers::Offset> hash_map) { fbb_.AddOffset(File_HashMap_Response::VT_HASH_MAP, hash_map); } explicit File_HashMap_ResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFile_HashMap_Response( flatbuffers::FlatBufferBuilder &_fbb, uint64_t file_length = 0, flatbuffers::Offset> hash_map = 0) { File_HashMap_ResponseBuilder builder_(_fbb); builder_.add_file_length(file_length); builder_.add_hash_map(hash_map); return builder_.Finish(); } inline flatbuffers::Offset CreateFile_HashMap_ResponseDirect( flatbuffers::FlatBufferBuilder &_fbb, uint64_t file_length = 0, const std::vector *hash_map = nullptr) { auto hash_map__ = hash_map ? _fbb.CreateVector(*hash_map) : 0; return msg::fbuf::p2pmsg::CreateFile_HashMap_Response( _fbb, file_length, hash_map__); } struct Block_Response FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Block_ResponseBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_BLOCK_ID = 4, VT_DATA = 6 }; uint32_t block_id() const { return GetField(VT_BLOCK_ID, 0); } bool mutate_block_id(uint32_t _block_id) { return SetField(VT_BLOCK_ID, _block_id, 0); } const flatbuffers::Vector *data() const { return GetPointer *>(VT_DATA); } flatbuffers::Vector *mutable_data() { return GetPointer *>(VT_DATA); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_BLOCK_ID) && VerifyOffset(verifier, VT_DATA) && verifier.VerifyVector(data()) && verifier.EndTable(); } }; struct Block_ResponseBuilder { typedef Block_Response Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_block_id(uint32_t block_id) { fbb_.AddElement(Block_Response::VT_BLOCK_ID, block_id, 0); } void add_data(flatbuffers::Offset> data) { fbb_.AddOffset(Block_Response::VT_DATA, data); } explicit Block_ResponseBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateBlock_Response( flatbuffers::FlatBufferBuilder &_fbb, uint32_t block_id = 0, flatbuffers::Offset> data = 0) { Block_ResponseBuilder builder_(_fbb); builder_.add_data(data); builder_.add_block_id(block_id); return builder_.Finish(); } inline flatbuffers::Offset CreateBlock_ResponseDirect( flatbuffers::FlatBufferBuilder &_fbb, uint32_t block_id = 0, const std::vector *data = nullptr) { auto data__ = data ? _fbb.CreateVector(*data) : 0; return msg::fbuf::p2pmsg::CreateBlock_Response( _fbb, block_id, data__); } struct State_FS_Hash_Entry FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef State_FS_Hash_EntryBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_NAME = 4, VT_IS_FILE = 6, VT_HASH = 8 }; const flatbuffers::String *name() const { return GetPointer(VT_NAME); } flatbuffers::String *mutable_name() { return GetPointer(VT_NAME); } bool is_file() const { return GetField(VT_IS_FILE, 0) != 0; } bool mutate_is_file(bool _is_file) { return SetField(VT_IS_FILE, static_cast(_is_file), 0); } const flatbuffers::Vector *hash() const { return GetPointer *>(VT_HASH); } flatbuffers::Vector *mutable_hash() { return GetPointer *>(VT_HASH); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_NAME) && verifier.VerifyString(name()) && VerifyField(verifier, VT_IS_FILE) && VerifyOffset(verifier, VT_HASH) && verifier.VerifyVector(hash()) && verifier.EndTable(); } }; struct State_FS_Hash_EntryBuilder { typedef State_FS_Hash_Entry Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_name(flatbuffers::Offset name) { fbb_.AddOffset(State_FS_Hash_Entry::VT_NAME, name); } void add_is_file(bool is_file) { fbb_.AddElement(State_FS_Hash_Entry::VT_IS_FILE, static_cast(is_file), 0); } void add_hash(flatbuffers::Offset> hash) { fbb_.AddOffset(State_FS_Hash_Entry::VT_HASH, hash); } explicit State_FS_Hash_EntryBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateState_FS_Hash_Entry( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset name = 0, bool is_file = false, flatbuffers::Offset> hash = 0) { State_FS_Hash_EntryBuilder builder_(_fbb); builder_.add_hash(hash); builder_.add_name(name); builder_.add_is_file(is_file); return builder_.Finish(); } inline flatbuffers::Offset CreateState_FS_Hash_EntryDirect( flatbuffers::FlatBufferBuilder &_fbb, const char *name = nullptr, bool is_file = false, const std::vector *hash = nullptr) { auto name__ = name ? _fbb.CreateString(name) : 0; auto hash__ = hash ? _fbb.CreateVector(*hash) : 0; return msg::fbuf::p2pmsg::CreateState_FS_Hash_Entry( _fbb, name__, is_file, hash__); } struct Connected_Status_Announcement_Message FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Connected_Status_Announcement_MessageBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_IS_WEAKLY_CONNECTED = 4 }; bool is_weakly_connected() const { return GetField(VT_IS_WEAKLY_CONNECTED, 0) != 0; } bool mutate_is_weakly_connected(bool _is_weakly_connected) { return SetField(VT_IS_WEAKLY_CONNECTED, static_cast(_is_weakly_connected), 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_IS_WEAKLY_CONNECTED) && verifier.EndTable(); } }; struct Connected_Status_Announcement_MessageBuilder { typedef Connected_Status_Announcement_Message Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_is_weakly_connected(bool is_weakly_connected) { fbb_.AddElement(Connected_Status_Announcement_Message::VT_IS_WEAKLY_CONNECTED, static_cast(is_weakly_connected), 0); } explicit Connected_Status_Announcement_MessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateConnected_Status_Announcement_Message( flatbuffers::FlatBufferBuilder &_fbb, bool is_weakly_connected = false) { Connected_Status_Announcement_MessageBuilder builder_(_fbb); builder_.add_is_weakly_connected(is_weakly_connected); return builder_.Finish(); } inline bool VerifyMessage(flatbuffers::Verifier &verifier, const void *obj, Message type) { switch (type) { case Message_NONE: { return true; } case Message_Peer_Challenge_Response_Message: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case Message_Peer_Challenge_Message: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case Message_NonUnl_Proposal_Message: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case Message_Proposal_Message: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case Message_Npl_Message: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case Message_State_Request_Message: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case Message_State_Response_Message: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case Message_History_Request_Message: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case Message_History_Response_Message: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case Message_Connected_Status_Announcement_Message: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } default: return true; } } inline bool VerifyMessageVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types) { if (!values || !types) return !values && !types; if (values->size() != types->size()) return false; for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { if (!VerifyMessage( verifier, values->Get(i), types->GetEnum(i))) { return false; } } return true; } inline bool VerifyState_Response(flatbuffers::Verifier &verifier, const void *obj, State_Response type) { switch (type) { case State_Response_NONE: { return true; } case State_Response_File_HashMap_Response: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case State_Response_Block_Response: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case State_Response_Fs_Entry_Response: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } default: return true; } } inline bool VerifyState_ResponseVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types) { if (!values || !types) return !values && !types; if (values->size() != types->size()) return false; for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { if (!VerifyState_Response( verifier, values->Get(i), types->GetEnum(i))) { return false; } } return true; } inline const msg::fbuf::p2pmsg::Content *GetContent(const void *buf) { return flatbuffers::GetRoot(buf); } inline const msg::fbuf::p2pmsg::Content *GetSizePrefixedContent(const void *buf) { return flatbuffers::GetSizePrefixedRoot(buf); } inline Content *GetMutableContent(void *buf) { return flatbuffers::GetMutableRoot(buf); } inline bool VerifyContentBuffer( flatbuffers::Verifier &verifier) { return verifier.VerifyBuffer(nullptr); } inline bool VerifySizePrefixedContentBuffer( flatbuffers::Verifier &verifier) { return verifier.VerifySizePrefixedBuffer(nullptr); } inline void FinishContentBuffer( flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset root) { fbb.Finish(root); } inline void FinishSizePrefixedContentBuffer( flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset root) { fbb.FinishSizePrefixed(root); } } // namespace p2pmsg } // namespace fbuf } // namespace msg #endif // FLATBUFFERS_GENERATED_P2PMSGCONTENT_MSG_FBUF_P2PMSG_H_