summaryrefslogtreecommitdiff
path: root/cpp/lib/broker/MessageHandlerImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/lib/broker/MessageHandlerImpl.cpp')
-rw-r--r--cpp/lib/broker/MessageHandlerImpl.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/cpp/lib/broker/MessageHandlerImpl.cpp b/cpp/lib/broker/MessageHandlerImpl.cpp
index 5f5e9b84e7..49c4153185 100644
--- a/cpp/lib/broker/MessageHandlerImpl.cpp
+++ b/cpp/lib/broker/MessageHandlerImpl.cpp
@@ -217,14 +217,13 @@ MessageHandlerImpl::transfer(const MethodContext& context,
MessageTransferBody::shared_ptr transfer(
boost::shared_polymorphic_downcast<MessageTransferBody>(
context.methodBody));
- if (body.isInline()) {
- Message::shared_ptr msg(new MessageMessage(transfer));
- channel.handleInlineTransfer(msg, exchange);
- }
- else {
- // Add to reference.
- references.get(body.getValue()).transfer(transfer);
- }
+ MessageMessage::shared_ptr message(
+ new MessageMessage(&connection, transfer));
+
+ if (body.isInline())
+ channel.handleInlineTransfer(message, exchange);
+ else
+ references.get(body.getValue()).addMessage(message);
client.ok(context);
}