summaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-09-29 16:36:59 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-09-29 16:44:36 +0200
commitdb0b5402657e33a7737ad7490473a7fd12850de7 (patch)
tree783cb5b9b3d22f32d6b3574be00c0c4356476caf /messagebus
parentf4f8d93f3be2a2b91ba0db4034db2a1811f438fb (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.cpp1
-rw-r--r--messagebus/src/vespa/messagebus/iprotocol.h3
-rw-r--r--messagebus/src/vespa/messagebus/testlib/simpleprotocol.h1
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 &param) 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