From 41efd33a3e165ac329f14b6e1cea935076a8b790 Mon Sep 17 00:00:00 2001 From: Determinant Date: Fri, 20 Jul 2018 20:09:24 -0400 Subject: improve msg & msg network interface --- src/client.cpp | 40 +++++++--------------------------------- 1 file changed, 7 insertions(+), 33 deletions(-) (limited to 'src/client.cpp') diff --git a/src/client.cpp b/src/client.cpp index bc790bc..562fab5 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -4,40 +4,14 @@ namespace hotstuff { uint64_t CommandDummy::cnt = 0; -void MsgClient::gen_reqcmd(const Command &cmd) { - DataStream s; - set_opcode(REQ_CMD); - s << cmd; - set_payload(std::move(s)); +const opcode_t MsgReqCmd::opcode; +MsgReqCmd::MsgReqCmd(const Command &cmd) { serialized << cmd; } +void MsgReqCmd::postponed_parse(HotStuffCore *hsc) { + cmd = hsc->parse_cmd(serialized); } -void MsgClient::parse_reqcmd(command_t &cmd, HotStuffCore *hsc) const { - DataStream s(get_payload()); - cmd = hsc->parse_cmd(s); -} - -void MsgClient::gen_respcmd(const Finality &fin) { - DataStream s; - set_opcode(RESP_CMD); - s << fin; - set_payload(std::move(s)); -} - -void MsgClient::parse_respcmd(Finality &fin) const { - DataStream s(get_payload()); - s >> fin; -} - -void MsgClient::gen_chkcmd(const uint256_t &cmd_hash) { - DataStream s; - set_opcode(CHK_CMD); - s << cmd_hash; - set_payload(std::move(s)); -} - -void MsgClient::parse_chkcmd(uint256_t &cmd_hash) const { - DataStream s(get_payload()); - s >> cmd_hash; -} +const opcode_t MsgRespCmd::opcode; +MsgRespCmd::MsgRespCmd(const Finality &fin) { serialized << fin; } +MsgRespCmd::MsgRespCmd(DataStream &&s) { s >> fin; } } -- cgit v1.2.3