summaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-02-27 13:52:46 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-02-27 13:52:46 +0000
commit763e8767c4a6c656d7dfc8c702730bfc906e3468 (patch)
tree9be5b7baa78de92c2b5e8c8555d5b8ad3151a6b8 /messagebus
parent023d8a0851d321c0f33ba6dde16e1b1fa2fe12ce (diff)
Modernize code and test
Diffstat (limited to 'messagebus')
-rw-r--r--messagebus/src/tests/replygate/replygate.cpp38
-rw-r--r--messagebus/src/vespa/messagebus/callstack.h5
-rw-r--r--messagebus/src/vespa/messagebus/context.h10
-rw-r--r--messagebus/src/vespa/messagebus/idiscardhandler.h2
-rw-r--r--messagebus/src/vespa/messagebus/sendproxy.cpp2
5 files changed, 27 insertions, 30 deletions
diff --git a/messagebus/src/tests/replygate/replygate.cpp b/messagebus/src/tests/replygate/replygate.cpp
index 0acdc0a5611..4a3dce26fd3 100644
--- a/messagebus/src/tests/replygate/replygate.cpp
+++ b/messagebus/src/tests/replygate/replygate.cpp
@@ -9,58 +9,59 @@
using namespace mbus;
-struct MyGate : public ReplyGate
-{
+namespace {
+
+struct MyGate : public ReplyGate {
static int ctorCnt;
static int dtorCnt;
+
MyGate(IMessageHandler &sender) : ReplyGate(sender) {
++ctorCnt;
}
- virtual ~MyGate() {
+
+ ~MyGate() override {
++dtorCnt;
}
};
+
int MyGate::ctorCnt = 0;
int MyGate::dtorCnt = 0;
-struct MyReply : public EmptyReply
-{
+struct MyReply : public EmptyReply {
static int ctorCnt;
static int dtorCnt;
+
MyReply() : EmptyReply() {
++ctorCnt;
}
- virtual ~MyReply() {
+
+ ~MyReply() override {
++dtorCnt;
}
};
+
int MyReply::ctorCnt = 0;
int MyReply::dtorCnt = 0;
-struct MySender : public IMessageHandler
-{
+struct MySender : public IMessageHandler {
// giving a sync reply here is against the API contract, but it is
// ok for testing.
void handleMessage(Message::UP msg) override {
- Reply::UP reply(new MyReply());
+ auto reply = std::make_unique<MyReply>();
msg->swapState(*reply);
IReplyHandler &handler = reply->getCallStack().pop(*reply);
handler.handleReply(std::move(reply));
}
};
+}
-TEST_SETUP(Test);
-
-int
-Test::Main()
-{
- TEST_INIT("replygate_test");
+TEST("replygate_test") {
{
RoutableQueue q;
MySender sender;
MyGate *gate = new MyGate(sender);
{
- Message::UP msg(new SimpleMessage("test"));
+ auto msg = std::make_unique<SimpleMessage>("test");
msg->pushHandler(q);
gate->handleMessage(std::move(msg));
}
@@ -69,7 +70,7 @@ Test::Main()
EXPECT_TRUE(MyReply::dtorCnt == 0);
gate->close();
{
- Message::UP msg(new SimpleMessage("test"));
+ auto msg = std::make_unique<SimpleMessage>("test");
msg->pushHandler(q);
gate->handleMessage(std::move(msg));
}
@@ -84,5 +85,6 @@ Test::Main()
}
EXPECT_TRUE(MyReply::ctorCnt == 2);
EXPECT_TRUE(MyReply::dtorCnt == 2);
- TEST_DONE();
}
+
+TEST_MAIN() { TEST_RUN_ALL(); } \ No newline at end of file
diff --git a/messagebus/src/vespa/messagebus/callstack.h b/messagebus/src/vespa/messagebus/callstack.h
index 937a9e939b6..8b2ab206c18 100644
--- a/messagebus/src/vespa/messagebus/callstack.h
+++ b/messagebus/src/vespa/messagebus/callstack.h
@@ -72,9 +72,12 @@ public:
* @param ctx The context to store.
* @param discardHandler The handler for discarded messages.
**/
- void push(IReplyHandler &replyHandler, Context ctx, IDiscardHandler *discardHandler = nullptr) {
+ void push(IReplyHandler &replyHandler, Context ctx, IDiscardHandler *discardHandler) {
_stack.emplace_back(&replyHandler, discardHandler, ctx);
}
+ void push(IReplyHandler &replyHandler, Context ctx) {
+ _stack.emplace_back(&replyHandler, nullptr, ctx);
+ }
/**
* Pop a frame from this stack. The handler part of the frame will
diff --git a/messagebus/src/vespa/messagebus/context.h b/messagebus/src/vespa/messagebus/context.h
index edf875630e1..d6e7b4e82e5 100644
--- a/messagebus/src/vespa/messagebus/context.h
+++ b/messagebus/src/vespa/messagebus/context.h
@@ -17,11 +17,10 @@ struct Context
{
/**
* This is a region of memory that can be interpreted as either an
- * integer, a floating-point number or a pointer.
+ * integer or a pointer.
**/
union {
uint64_t UINT64;
- double DOUBLE;
void *PTR;
} value;
@@ -38,13 +37,6 @@ struct Context
Context(uint64_t v) { value.UINT64 = v; }
/**
- * Create a context from a floating-point number
- *
- * @param v the value
- **/
- Context(double v) { value.DOUBLE = v; }
-
- /**
* Create a context from a pointer
*
* @param pt the pointer
diff --git a/messagebus/src/vespa/messagebus/idiscardhandler.h b/messagebus/src/vespa/messagebus/idiscardhandler.h
index 049b8dfb245..5618402f14d 100644
--- a/messagebus/src/vespa/messagebus/idiscardhandler.h
+++ b/messagebus/src/vespa/messagebus/idiscardhandler.h
@@ -15,7 +15,7 @@ public:
/**
* Virtual destructor required for inheritance.
*/
- virtual ~IDiscardHandler() { }
+ virtual ~IDiscardHandler() = default;
/**
* This method is invoked by message bus when a routable is being
diff --git a/messagebus/src/vespa/messagebus/sendproxy.cpp b/messagebus/src/vespa/messagebus/sendproxy.cpp
index 9adeceb9a41..fa2994a6b7e 100644
--- a/messagebus/src/vespa/messagebus/sendproxy.cpp
+++ b/messagebus/src/vespa/messagebus/sendproxy.cpp
@@ -29,7 +29,7 @@ SendProxy::handleMessage(Message::UP msg)
}
}
_msg = std::move(msg);
- _root.reset(new RoutingNode(_mbus, _net, _resender, *this, *_msg, this));
+ _root = std::make_unique<RoutingNode>(_mbus, _net, _resender, *this, *_msg, this);
_root->send();
}