aboutsummaryrefslogtreecommitdiffstats
path: root/messagebus/src/vespa/messagebus/network/rpcnetwork.h
diff options
context:
space:
mode:
Diffstat (limited to 'messagebus/src/vespa/messagebus/network/rpcnetwork.h')
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcnetwork.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/messagebus/src/vespa/messagebus/network/rpcnetwork.h b/messagebus/src/vespa/messagebus/network/rpcnetwork.h
index a8eb514387c..a510aae9014 100644
--- a/messagebus/src/vespa/messagebus/network/rpcnetwork.h
+++ b/messagebus/src/vespa/messagebus/network/rpcnetwork.h
@@ -65,7 +65,8 @@ private:
std::unique_ptr<RPCTargetPool> _targetPool;
std::unique_ptr<FNET_Task> _targetPoolTask;
std::unique_ptr<RPCServicePool> _servicePool;
- std::unique_ptr<vespalib::ThreadStackExecutor> _executor;
+ std::unique_ptr<vespalib::SyncableThreadExecutor> _singleEncodeExecutor;
+ std::unique_ptr<vespalib::SyncableThreadExecutor> _singleDecodeExecutor;
std::unique_ptr<RPCSendAdapter> _sendV1;
std::unique_ptr<RPCSendAdapter> _sendV2;
SendAdapterMap _sendAdapters;
@@ -73,7 +74,6 @@ private:
bool _allowDispatchForEncode;
bool _allowDispatchForDecode;
-
/**
* Resolves and assigns a service address for the given recipient using the
* given address. This is called by the {@link
@@ -224,7 +224,8 @@ public:
const slobrok::api::IMirrorAPI &getMirror() const override;
CompressionConfig getCompressionConfig() { return _compressionConfig; }
void invoke(FRT_RPCRequest *req);
- vespalib::Executor & getExecutor() const { return *_executor; }
+ vespalib::Executor & getEncodeExecutor(bool requireSequencing) const { return requireSequencing ? *_singleEncodeExecutor : *_singleEncodeExecutor; }
+ vespalib::Executor & getDecodeExecutor(bool requireSequencing) const { return requireSequencing ? *_singleDecodeExecutor : *_singleDecodeExecutor; }
bool allowDispatchForEncode() const { return _allowDispatchForEncode; }
bool allowDispatchForDecode() const { return _allowDispatchForDecode; }