summaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-06-08 13:27:29 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-06-08 13:28:18 +0200
commita222a37083bf74b4b2992e91a4ec90921b0cc2bf (patch)
tree1cac7aa9d5b476b4ec03c1e43866baa9b34b2393 /messagebus
parent25809a32e2a9227d92e355483984e9ba592358f4 (diff)
Only include what you really need
Diffstat (limited to 'messagebus')
-rw-r--r--messagebus/src/vespa/messagebus/callstack.h2
-rw-r--r--messagebus/src/vespa/messagebus/destinationsession.h8
-rw-r--r--messagebus/src/vespa/messagebus/destinationsessionparams.h4
-rw-r--r--messagebus/src/vespa/messagebus/emptyreply.h1
-rw-r--r--messagebus/src/vespa/messagebus/error.h2
-rw-r--r--messagebus/src/vespa/messagebus/imessagehandler.h5
-rw-r--r--messagebus/src/vespa/messagebus/intermediatesession.h8
-rw-r--r--messagebus/src/vespa/messagebus/intermediatesessionparams.h4
-rw-r--r--messagebus/src/vespa/messagebus/ireplyhandler.h5
-rw-r--r--messagebus/src/vespa/messagebus/message.h4
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcsendv1.h14
-rw-r--r--messagebus/src/vespa/messagebus/reply.cpp13
-rw-r--r--messagebus/src/vespa/messagebus/reply.h15
-rw-r--r--messagebus/src/vespa/messagebus/replygate.cpp2
-rw-r--r--messagebus/src/vespa/messagebus/replygate.h8
-rw-r--r--messagebus/src/vespa/messagebus/routable.h8
-rw-r--r--messagebus/src/vespa/messagebus/staticthrottlepolicy.cpp2
-rw-r--r--messagebus/src/vespa/messagebus/testlib/receptor.h2
-rw-r--r--messagebus/src/vespa/messagebus/testlib/slobrok.h1
-rw-r--r--messagebus/src/vespa/messagebus/tracenode.h1
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 {