From 79e70a98910ea3ec865531c49bc885083c0d4722 Mon Sep 17 00:00:00 2001 From: asanka-indrajith Date: Wed, 9 Oct 2019 08:57:55 -0400 Subject: [PATCH] Formatting changes and code optimations. --- src/p2p/message.proto | 14 ++--- src/p2p/p2p.cpp | 124 +++++++++++++++++++----------------------- src/p2p/p2p.h | 26 ++++----- 3 files changed, 77 insertions(+), 87 deletions(-) diff --git a/src/p2p/message.proto b/src/p2p/message.proto index 60f84ac2..6a80b57b 100644 --- a/src/p2p/message.proto +++ b/src/p2p/message.proto @@ -22,16 +22,16 @@ message Message { } message StateDifference { -map created = 1; -map updated = 2; -map deleted = 3; + map created = 1; + map updated = 2; + map deleted = 3; } message State { -optional bytes previous = 1; -optional bytes current = 2; -optional StateDifference difference = 3; -map patch = 4; + optional bytes previous = 1; + optional bytes current = 2; + optional StateDifference difference = 3; + map patch = 4; } diff --git a/src/p2p/p2p.cpp b/src/p2p/p2p.cpp index 2265fa38..0d05bf56 100644 --- a/src/p2p/p2p.cpp +++ b/src/p2p/p2p.cpp @@ -4,9 +4,10 @@ using namespace std; -namespace p2p { +namespace p2p +{ -void set_message(Message &message, int timestamp, string version, string publicKey, string signature, p2p::Message::Messagetype type, string content) +void set_message(Message &message, int timestamp, const string &version, const string &publicKey, const string &signature, p2p::Message::Messagetype type, const string &content) { message.set_version(version); message.set_timestamp(timestamp); @@ -14,92 +15,81 @@ void set_message(Message &message, int timestamp, string version, string publicK message.set_signature(signature); message.set_type(type); message.set_content(content); -} - - -bool message_serialize_to_string(Message& message, string* output) -{ - //check all fields are set in message - if(message.has_publickey() - && message.has_signature() - && message.has_timestamp() - && message.has_type() - && message.has_version() - && message.has_content()) - - return message.SerializeToString(output); - - else - return false; } -bool message_parse_from_string(Message& message, const string& dataString) +bool message_serialize_to_string(Message &message, string *output) +{ + //check all fields are set in message + if (message.has_publickey() && message.has_signature() && message.has_timestamp() && message.has_type() && message.has_version() && message.has_content()) + + return message.SerializeToString(output); + + else + return false; +} + +bool message_parse_from_string(Message &message, const string &dataString) { return message.ParseFromString(dataString); } -void set_proposal_inputs(Proposal& proposal, vector inputs) +void set_proposal_inputs(Proposal &proposal, vector inputs) { - proposal.mutable_inputs() -> Reserve(inputs.size()); - *proposal.mutable_inputs() = {inputs.begin(), inputs.end()}; -} - -void set_proposal_outputs(Proposal& proposal, vector outputs) -{ - proposal.mutable_inputs() -> Reserve(outputs.size()); - *proposal.mutable_inputs() = {outputs.begin(), outputs.end()}; -} - -void set_proposal_connections(Proposal& proposal, vector connections) -{ - proposal.mutable_inputs() -> Reserve(connections.size()); - *proposal.mutable_inputs() = {connections.begin(), connections.end()}; + google::protobuf::RepeatedPtrField* proposal_inputs = proposal.mutable_outputs(); + proposal_inputs-> Reserve(inputs.size()); + *proposal_inputs = {inputs.begin(), inputs.end()}; } -void set_state_patch(State& state, map patches) +void set_proposal_outputs(Proposal &proposal, vector outputs) +{ + google::protobuf::RepeatedPtrField* proposal_outputs = proposal.mutable_outputs(); + proposal_outputs-> Reserve(outputs.size()); + *proposal_outputs = {outputs.begin(), outputs.end()}; +} + +void set_proposal_connections(Proposal &proposal, vector connections) +{ + google::protobuf::RepeatedPtrField* proposal_connections = proposal.mutable_inputs(); + proposal_connections -> Reserve(connections.size()); + (*proposal_connections) = {connections.begin(), connections.end()}; +} + +void set_state_patch(State &state, map patches) { - //state.mutable_patch().Reserve(patches.size()); - //reserve memory need to optimise copy *state.mutable_patch() = {patches.begin(), patches.end()}; } -bool proposal_serialize_to_string(Proposal& proposal, string* output) -{ - //check all fields are set in the proposal - if(proposal.has_stage() - && proposal.has_lcl() - && proposal.has_state() - && proposal.has_time() - && (proposal.inputs_size() == 0) - && (proposal.outputs_size() == 0)) - return proposal.SerializeToString(output); - - else - return false; -} - -bool proposal_parse_from_string(Proposal& proposal, const string& dataString) -{ - return proposal.ParseFromString(dataString); -} - -bool npl_serialize_to_string(NPL& npl, string* output) +bool proposal_serialize_to_string(Proposal &proposal, string *output) { //check all fields are set in the proposal - //not sure npl messages need both data or lcl have to be set. - //may be only one needed. need to deal with this when processing npl messages - if(npl.has_data() - && npl.has_lcl()) - - return npl.SerializeToString(output); + if (proposal.has_stage() && proposal.has_lcl() && proposal.has_state() && proposal.has_time() && (proposal.inputs_size() == 0) && (proposal.outputs_size() == 0)) + return proposal.SerializeToString(output); else return false; } -bool npl_parse_from_string(NPL& npl, const string& dataString) +bool proposal_parse_from_string(Proposal &proposal, const string &dataString) +{ + return proposal.ParseFromString(dataString); +} + +bool npl_serialize_to_string(NPL &npl, string *output) +{ + //check all fields are set in the proposal + //not sure npl messages need both data or lcl have to be set. + //may be only one needed. need to deal with this when processing npl messages + if (npl.has_data() && npl.has_lcl()) + + return npl.SerializeToString(output); + + else + return false; +} + +bool npl_parse_from_string(NPL &npl, const string &dataString) { return npl.ParseFromString(dataString); } -} \ No newline at end of file +} // namespace p2p \ No newline at end of file diff --git a/src/p2p/p2p.h b/src/p2p/p2p.h index feece01e..6a2d4404 100644 --- a/src/p2p/p2p.h +++ b/src/p2p/p2p.h @@ -17,42 +17,42 @@ such as message validation. Need to improve and add additional functionality once started to use. */ -//set message fields of passed of given message. -void set_message(Message &message, int timestamp, string version, string publicKey, string signature, p2p::Message::Messagetype type, string content); +//set all fields of given message. +void set_message(Message &message, int timestamp, const string &version, const string &publicKey, const string &signature, p2p::Message::Messagetype type, const string &content); // Serialize the message and store it in the given string. All message // fields must be set. Consensus rounds need all fileds. -bool message_serialize_to_string(Message& message, string* output); +bool message_serialize_to_string(Message &message, string *output); // Parsing the message from binary message string to given message. -bool message_parse_from_string(Message& message, const string& dataString); +bool message_parse_from_string(Message &message, const string &dataString); //Set proposal inputs from given string vector. -void set_proposal_inputs(Proposal& proposal, vector inputs); +void set_proposal_inputs(Proposal &proposal, vector inputs); //Set proposal outputs from given string vector. -void set_proposal_outputs(Proposal& proposal, vector outputs); +void set_proposal_outputs(Proposal &proposal, vector outputs); //Set proposal connections from given string vector. -void set_proposal_connections(Proposal& proposal, vector connections); +void set_proposal_connections(Proposal &proposal, vector connections); //Set proposal state patches from given map of patches. -void set_state_patch(State& state, map patches); +void set_state_patch(State &state, map patches); // Serialize the proposal message and store it in the given string. All propsal message // fields must be set. Consensus rounds need all fileds. -bool proposal_serialize_to_string(Proposal& proposal, string* output); +bool proposal_serialize_to_string(Proposal &proposal, string *output); // Parsing the proposal message from binary string to given message. -bool proposal_parse_from_string(Proposal& proposal, const string& dataString); +bool proposal_parse_from_string(Proposal &proposal, const string &dataString); // Serialize the npl message and store it in the given string. All npl message // fields must be set. -bool npl_serialize_to_string(NPL& npl, string* output); +bool npl_serialize_to_string(NPL &npl, string *output); // Parsing the npl message from binary string to given message. -bool npl_parse_from_string(NPL& npl, const string& dataString); +bool npl_parse_from_string(NPL &npl, const string &dataString); -} +} // namespace p2p #endif \ No newline at end of file