From db0b5402657e33a7737ad7490473a7fd12850de7 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Fri, 29 Sep 2017 16:36:59 +0200 Subject: Protocols tells if they require sequencing of messages. If not messages might be reordered for efficiency. --- messagebus/src/tests/protocolrepository/protocolrepository.cpp | 1 + messagebus/src/vespa/messagebus/iprotocol.h | 3 +++ messagebus/src/vespa/messagebus/testlib/simpleprotocol.h | 1 + 3 files changed, 5 insertions(+) (limited to 'messagebus') diff --git a/messagebus/src/tests/protocolrepository/protocolrepository.cpp b/messagebus/src/tests/protocolrepository/protocolrepository.cpp index b2454eb272a..b6178449918 100644 --- a/messagebus/src/tests/protocolrepository/protocolrepository.cpp +++ b/messagebus/src/tests/protocolrepository/protocolrepository.cpp @@ -48,6 +48,7 @@ public: (void)data; throw std::exception(); } + bool requireSequencing() const override { return false; } }; int diff --git a/messagebus/src/vespa/messagebus/iprotocol.h b/messagebus/src/vespa/messagebus/iprotocol.h index 40cfc779c36..514c5ea676f 100644 --- a/messagebus/src/vespa/messagebus/iprotocol.h +++ b/messagebus/src/vespa/messagebus/iprotocol.h @@ -80,6 +80,9 @@ public: * @return The decoded routable. */ virtual Routable::UP decode(const vespalib::Version &version, BlobRef data) const = 0; // throw() + + + virtual bool requireSequencing() const = 0; }; } // namespace mbus diff --git a/messagebus/src/vespa/messagebus/testlib/simpleprotocol.h b/messagebus/src/vespa/messagebus/testlib/simpleprotocol.h index 8931e1b46f9..09e1ee9febe 100644 --- a/messagebus/src/vespa/messagebus/testlib/simpleprotocol.h +++ b/messagebus/src/vespa/messagebus/testlib/simpleprotocol.h @@ -72,6 +72,7 @@ public: IRoutingPolicy::UP createPolicy(const string &name, const string ¶m) const override; Blob encode(const vespalib::Version &version, const Routable &routable) const override; Routable::UP decode(const vespalib::Version &version, BlobRef data) const override; + virtual bool requireSequencing() const override { return false; } }; } // namespace mbus -- cgit v1.2.3