diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-09-29 16:36:59 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-09-29 16:44:36 +0200 |
commit | db0b5402657e33a7737ad7490473a7fd12850de7 (patch) | |
tree | 783cb5b9b3d22f32d6b3574be00c0c4356476caf /messagebus | |
parent | f4f8d93f3be2a2b91ba0db4034db2a1811f438fb (diff) |
Protocols tells if they require sequencing of messages. If not messages might be reordered for efficiency.
Diffstat (limited to 'messagebus')
-rw-r--r-- | messagebus/src/tests/protocolrepository/protocolrepository.cpp | 1 | ||||
-rw-r--r-- | messagebus/src/vespa/messagebus/iprotocol.h | 3 | ||||
-rw-r--r-- | messagebus/src/vespa/messagebus/testlib/simpleprotocol.h | 1 |
3 files changed, 5 insertions, 0 deletions
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 |