diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-06-08 13:27:29 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-06-08 13:28:18 +0200 |
commit | a222a37083bf74b4b2992e91a4ec90921b0cc2bf (patch) | |
tree | 1cac7aa9d5b476b4ec03c1e43866baa9b34b2393 /messagebus | |
parent | 25809a32e2a9227d92e355483984e9ba592358f4 (diff) |
Only include what you really need
Diffstat (limited to 'messagebus')
20 files changed, 58 insertions, 51 deletions
diff --git a/messagebus/src/vespa/messagebus/callstack.h b/messagebus/src/vespa/messagebus/callstack.h index f4e0ffe0df4..7ee1753e6b4 100644 --- a/messagebus/src/vespa/messagebus/callstack.h +++ b/messagebus/src/vespa/messagebus/callstack.h @@ -2,8 +2,8 @@ #pragma once -#include <vector> #include "context.h" +#include <vector> namespace mbus { diff --git a/messagebus/src/vespa/messagebus/destinationsession.h b/messagebus/src/vespa/messagebus/destinationsession.h index 973d65ec152..fd4005c09be 100644 --- a/messagebus/src/vespa/messagebus/destinationsession.h +++ b/messagebus/src/vespa/messagebus/destinationsession.h @@ -1,8 +1,6 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <memory> -#include <string> #include "destinationsessionparams.h" #include "imessagehandler.h" #include "reply.h" @@ -10,6 +8,7 @@ namespace mbus { class MessageBus; +class Message; /** * A DestinationSession is used to receive Message objects and reply @@ -18,6 +17,7 @@ class MessageBus; class DestinationSession : public IMessageHandler { private: friend class MessageBus; + using MessageUP = std::unique_ptr<Message>; MessageBus &_mbus; string _name; @@ -62,7 +62,7 @@ public: * * @param msg the Message you want to acknowledge */ - void acknowledge(Message::UP msg); + void acknowledge(MessageUP msg); /** * Send a Reply as a response to a Message. The Reply will be routed back to @@ -80,7 +80,7 @@ public: * * @param message the Message */ - void handleMessage(Message::UP message) override; + void handleMessage(MessageUP message) override; /** * Returns the message handler of this session. diff --git a/messagebus/src/vespa/messagebus/destinationsessionparams.h b/messagebus/src/vespa/messagebus/destinationsessionparams.h index 4026cdbff91..98d6b38200c 100644 --- a/messagebus/src/vespa/messagebus/destinationsessionparams.h +++ b/messagebus/src/vespa/messagebus/destinationsessionparams.h @@ -1,8 +1,8 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <string> #include "imessagehandler.h" +#include "common.h" namespace mbus { @@ -16,7 +16,7 @@ namespace mbus { */ class DestinationSessionParams { private: - string _name; + string _name; bool _broadcastName; IMessageHandler *_handler; diff --git a/messagebus/src/vespa/messagebus/emptyreply.h b/messagebus/src/vespa/messagebus/emptyreply.h index db8beb33b9b..4bacfb4864b 100644 --- a/messagebus/src/vespa/messagebus/emptyreply.h +++ b/messagebus/src/vespa/messagebus/emptyreply.h @@ -2,6 +2,7 @@ #pragma once #include "reply.h" +#include "blob.h" namespace mbus { diff --git a/messagebus/src/vespa/messagebus/error.h b/messagebus/src/vespa/messagebus/error.h index e3d62bf6bbe..8fa56ef1673 100644 --- a/messagebus/src/vespa/messagebus/error.h +++ b/messagebus/src/vespa/messagebus/error.h @@ -1,7 +1,7 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <vespa/messagebus/common.h> +#include "common.h" #ifdef Error #undef Error diff --git a/messagebus/src/vespa/messagebus/imessagehandler.h b/messagebus/src/vespa/messagebus/imessagehandler.h index b8c50172b6c..a6e7f5fa296 100644 --- a/messagebus/src/vespa/messagebus/imessagehandler.h +++ b/messagebus/src/vespa/messagebus/imessagehandler.h @@ -3,10 +3,11 @@ #pragma once #include <memory> -#include "message.h" namespace mbus { +class Message; + /** * This interface is implemented by application components that want * to handle incoming messages received from either an @@ -26,7 +27,7 @@ public: * * @param message the Message being delivered **/ - virtual void handleMessage(Message::UP message) = 0; + virtual void handleMessage(std::unique_ptr<Message> message) = 0; }; } // namespace mbus diff --git a/messagebus/src/vespa/messagebus/intermediatesession.h b/messagebus/src/vespa/messagebus/intermediatesession.h index b4832d5069a..7d710a2e787 100644 --- a/messagebus/src/vespa/messagebus/intermediatesession.h +++ b/messagebus/src/vespa/messagebus/intermediatesession.h @@ -1,8 +1,6 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <memory> -#include <string> #include "reply.h" #include "imessagehandler.h" #include "intermediatesessionparams.h" @@ -11,6 +9,7 @@ namespace mbus { class MessageBus; class ReplyGate; +class Message; /** * An IntermediateSession is used to process Message and Reply objects @@ -21,6 +20,7 @@ class IntermediateSession : public IMessageHandler, { private: friend class MessageBus; + using MessageUP = std::unique_ptr<Message>; MessageBus &_mbus; string _name; @@ -70,7 +70,7 @@ public: * * @param msg The message to forward. */ - void forward(Message::UP msg); + void forward(MessageUP msg); /** * Convenience method to call {@link #forward(Routable)}. @@ -87,7 +87,7 @@ public: */ const string getConnectionSpec() const; - void handleMessage(Message::UP message) override; + void handleMessage(MessageUP message) override; void handleReply(Reply::UP reply) override; }; diff --git a/messagebus/src/vespa/messagebus/intermediatesessionparams.h b/messagebus/src/vespa/messagebus/intermediatesessionparams.h index 84224b8803b..ad4a3e96574 100644 --- a/messagebus/src/vespa/messagebus/intermediatesessionparams.h +++ b/messagebus/src/vespa/messagebus/intermediatesessionparams.h @@ -1,9 +1,9 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <string> #include "imessagehandler.h" #include "ireplyhandler.h" +#include "common.h" namespace mbus { @@ -17,7 +17,7 @@ namespace mbus { */ class IntermediateSessionParams { private: - string _name; + string _name; bool _broadcastName; IMessageHandler *_msgHandler; IReplyHandler *_replyHandler; diff --git a/messagebus/src/vespa/messagebus/ireplyhandler.h b/messagebus/src/vespa/messagebus/ireplyhandler.h index c29717cd748..08361eee65e 100644 --- a/messagebus/src/vespa/messagebus/ireplyhandler.h +++ b/messagebus/src/vespa/messagebus/ireplyhandler.h @@ -2,10 +2,11 @@ #pragma once #include <memory> -#include "reply.h" namespace mbus { +class Reply; + /** * This interface is implemented by application components that want * to handle incoming replies received from either an @@ -25,7 +26,7 @@ public: * * @param reply the Reply being delivered **/ - virtual void handleReply(Reply::UP reply) = 0; + virtual void handleReply(std::unique_ptr<Reply> reply) = 0; }; } // namespace mbus diff --git a/messagebus/src/vespa/messagebus/message.h b/messagebus/src/vespa/messagebus/message.h index cea0aaa91fb..74f2943d43f 100644 --- a/messagebus/src/vespa/messagebus/message.h +++ b/messagebus/src/vespa/messagebus/message.h @@ -1,10 +1,10 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once +#include "routable.h" +#include <vespa/messagebus/routing/route.h> #include <vespa/fastos/time.h> #include <memory> -#include <vespa/messagebus/routing/route.h> -#include "routable.h" namespace mbus { diff --git a/messagebus/src/vespa/messagebus/network/rpcsendv1.h b/messagebus/src/vespa/messagebus/network/rpcsendv1.h index 4d85dd6aca9..b550dd59774 100644 --- a/messagebus/src/vespa/messagebus/network/rpcsendv1.h +++ b/messagebus/src/vespa/messagebus/network/rpcsendv1.h @@ -9,6 +9,8 @@ namespace mbus { +class Error; + class PayLoadFiller { public: @@ -59,27 +61,17 @@ public: RPCSendV1(); ~RPCSendV1(); - // Implements RPCSendAdapter. void attach(RPCNetwork &net) override; - // Implements RPCSendAdapter. void send(RoutingNode &recipient, const vespalib::Version &version, BlobRef payload, uint64_t timeRemaining) override; void sendByHandover(RoutingNode &recipient, const vespalib::Version &version, Blob payload, uint64_t timeRemaining) override; - // Implements IReplyHandler. - void handleReply(Reply::UP reply) override; - - // Implements IDiscardHandler. + void handleReply(std::unique_ptr<Reply> reply) override; void handleDiscard(Context ctx) override; - - // Implements FRT_Invokable. void invoke(FRT_RPCRequest *req); - - // Implements FRT_IRequestWait. void RequestDone(FRT_RPCRequest *req) override; }; } // namespace mbus - diff --git a/messagebus/src/vespa/messagebus/reply.cpp b/messagebus/src/vespa/messagebus/reply.cpp index 6a6cc417265..06f84a15d5f 100644 --- a/messagebus/src/vespa/messagebus/reply.cpp +++ b/messagebus/src/vespa/messagebus/reply.cpp @@ -1,10 +1,9 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +#include "reply.h" #include "emptyreply.h" -#include "error.h" #include "errorcode.h" #include "ireplyhandler.h" #include "message.h" -#include "reply.h" #include "tracelevel.h" #include <vespa/vespalib/util/stringfmt.h> #include <vespa/vespalib/util/backtrace.h> @@ -83,4 +82,14 @@ Reply::hasFatalErrors() const return false; } +void +Reply::setMessage(Message::UP msg) { + _msg = std::move(msg); +} + +Message::UP +Reply::getMessage() { + return std::move(_msg); +} + } // namespace mbus diff --git a/messagebus/src/vespa/messagebus/reply.h b/messagebus/src/vespa/messagebus/reply.h index f352d442931..599baaa9bdb 100644 --- a/messagebus/src/vespa/messagebus/reply.h +++ b/messagebus/src/vespa/messagebus/reply.h @@ -1,9 +1,9 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <vector> #include "error.h" -#include "message.h" +#include "routable.h" +#include <vector> namespace mbus { @@ -17,9 +17,10 @@ class Message; */ class Reply : public Routable { private: - std::vector<Error> _errors; // A list of errors that have occured during the lifetime of this reply. - Message::UP _msg; // The message to which this is a reply. - double _retryDelay; // How to perform resending of this. + using MessageUP = std::unique_ptr<Message>; + std::vector<Error> _errors; // A list of errors that have occured during the lifetime of this reply. + MessageUP _msg; // The message to which this is a reply. + double _retryDelay; // How to perform resending of this. public: /** @@ -87,7 +88,7 @@ public: * * @param msg the Message to attach */ - void setMessage(Message::UP msg) { _msg = std::move(msg); } + void setMessage(MessageUP msg); /** * Detach the Message attached to this Reply. If a Reply contains errors, @@ -96,7 +97,7 @@ public: * * @return the detached Message */ - Message::UP getMessage() { return std::move(_msg); } + MessageUP getMessage(); /** * Returns the retry request of this reply. This can be set using {@link diff --git a/messagebus/src/vespa/messagebus/replygate.cpp b/messagebus/src/vespa/messagebus/replygate.cpp index a32310f08c7..c11d5e3ef88 100644 --- a/messagebus/src/vespa/messagebus/replygate.cpp +++ b/messagebus/src/vespa/messagebus/replygate.cpp @@ -1,5 +1,7 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "replygate.h" +#include "message.h" +#include "reply.h" namespace mbus { diff --git a/messagebus/src/vespa/messagebus/replygate.h b/messagebus/src/vespa/messagebus/replygate.h index 72c9378c62c..078e79aa84a 100644 --- a/messagebus/src/vespa/messagebus/replygate.h +++ b/messagebus/src/vespa/messagebus/replygate.h @@ -2,11 +2,10 @@ #pragma once -#include <vespa/vespalib/util/referencecounter.h> #include "idiscardhandler.h" #include "imessagehandler.h" #include "ireplyhandler.h" -#include "message.h" +#include <vespa/vespalib/util/referencecounter.h> namespace mbus { @@ -43,7 +42,7 @@ public: * the matching Reply has been obtained. In order to obtain the matching * Reply, this method will push this object on the CallStack of the Message. */ - void handleMessage(Message::UP msg) override; + void handleMessage(std::unique_ptr<Message> msg) override; /** * Forward or discard Reply. If the gate is still open, it will forward the @@ -51,7 +50,7 @@ public: * the Reply will be discarded. This method also decreases the reference * counter of this object. */ - void handleReply(Reply::UP reply) override; + void handleReply(std::unique_ptr<Reply> reply) override; // Implements IDiscardHandler. void handleDiscard(Context ctx) override; @@ -64,4 +63,3 @@ public: }; } // namespace mbus - diff --git a/messagebus/src/vespa/messagebus/routable.h b/messagebus/src/vespa/messagebus/routable.h index b02c72efaca..0398fd01035 100644 --- a/messagebus/src/vespa/messagebus/routable.h +++ b/messagebus/src/vespa/messagebus/routable.h @@ -1,11 +1,9 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <memory> -#include <vespa/messagebus/blob.h> -#include <vespa/messagebus/callstack.h> -#include <vespa/messagebus/context.h> -#include <vespa/messagebus/trace.h> +#include "callstack.h" +#include "trace.h" +#include "common.h" namespace mbus { diff --git a/messagebus/src/vespa/messagebus/staticthrottlepolicy.cpp b/messagebus/src/vespa/messagebus/staticthrottlepolicy.cpp index a1725e608a3..162318a0f76 100644 --- a/messagebus/src/vespa/messagebus/staticthrottlepolicy.cpp +++ b/messagebus/src/vespa/messagebus/staticthrottlepolicy.cpp @@ -1,5 +1,7 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + #include "staticthrottlepolicy.h" +#include "message.h" namespace mbus { diff --git a/messagebus/src/vespa/messagebus/testlib/receptor.h b/messagebus/src/vespa/messagebus/testlib/receptor.h index 16c5cfcfc4c..12894652fb7 100644 --- a/messagebus/src/vespa/messagebus/testlib/receptor.h +++ b/messagebus/src/vespa/messagebus/testlib/receptor.h @@ -4,6 +4,8 @@ #include <vespa/messagebus/imessagehandler.h> #include <vespa/messagebus/ireplyhandler.h> +#include <vespa/messagebus/message.h> +#include <vespa/messagebus/reply.h> #include <vespa/vespalib/util/sync.h> namespace mbus { diff --git a/messagebus/src/vespa/messagebus/testlib/slobrok.h b/messagebus/src/vespa/messagebus/testlib/slobrok.h index 1677f6635f7..8105f20007c 100644 --- a/messagebus/src/vespa/messagebus/testlib/slobrok.h +++ b/messagebus/src/vespa/messagebus/testlib/slobrok.h @@ -4,6 +4,7 @@ #include <vespa/messagebus/common.h> #include <vespa/slobrok/cfg.h> +#include <vespa/fastos/thread.h> namespace slobrok { class SBEnv; diff --git a/messagebus/src/vespa/messagebus/tracenode.h b/messagebus/src/vespa/messagebus/tracenode.h index 1dddf39428b..fe04abb116b 100644 --- a/messagebus/src/vespa/messagebus/tracenode.h +++ b/messagebus/src/vespa/messagebus/tracenode.h @@ -1,7 +1,6 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <vespa/messagebus/common.h> #include <vespa/vespalib/trace/tracenode.h> namespace mbus { |