diff options
| author | Clifford Allan Jansen <cliffjansen@apache.org> | 2010-10-24 23:29:37 +0000 |
|---|---|---|
| committer | Clifford Allan Jansen <cliffjansen@apache.org> | 2010-10-24 23:29:37 +0000 |
| commit | f86e9093784d583f9af5068cbb5cdbc9a0f90e19 (patch) | |
| tree | f6ce582ef2e06f9375429cf90936360ce33e81e5 /qpid/wcf/src/Apache/Qpid/Interop/OutputLink.cpp | |
| parent | b3fba89268a91558b7d5012bdc9a14f8385c89a5 (diff) | |
| download | qpid-python-f86e9093784d583f9af5068cbb5cdbc9a0f90e19.tar.gz | |
QPID-2646 patches
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1026915 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/wcf/src/Apache/Qpid/Interop/OutputLink.cpp')
| -rw-r--r-- | qpid/wcf/src/Apache/Qpid/Interop/OutputLink.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/qpid/wcf/src/Apache/Qpid/Interop/OutputLink.cpp b/qpid/wcf/src/Apache/Qpid/Interop/OutputLink.cpp index 27725b8207..de7141dadb 100644 --- a/qpid/wcf/src/Apache/Qpid/Interop/OutputLink.cpp +++ b/qpid/wcf/src/Apache/Qpid/Interop/OutputLink.cpp @@ -48,13 +48,14 @@ using namespace std; using namespace Apache::Qpid::AmqpTypes; -OutputLink::OutputLink(AmqpSession^ session, String^ defaultQueue) : +OutputLink::OutputLink(AmqpSession^ session, String^ address) : amqpSession(session), - queue(defaultQueue), disposed(false), maxFrameSize(session->Connection->MaxFrameSize), finalizing(false) { + qpidAddress = QpidAddress::CreateAddress(address, false); + qpidAddress->ResolveLink(session); } void OutputLink::Cleanup() @@ -67,6 +68,8 @@ void OutputLink::Cleanup() disposed = true; } + // process any pending queue delete + qpidAddress->CleanupLink(amqpSession); amqpSession->NotifyClosed(); } @@ -217,7 +220,8 @@ void OutputLink::Send(AmqpMessage^ amqpMessage, TimeSpan timeout) ManagedToNative(amqpMessage); MessageBodyStream^ messageBodyStream = (MessageBodyStream^ ) amqpMessage->BodyStream; - CompletionWaiter^ waiter = amqpSession->SendMessage(queue, messageBodyStream, timeout, false, nullptr, nullptr); + CompletionWaiter^ waiter = amqpSession->SendMessage(qpidAddress->LinkName, messageBodyStream, + timeout, false, nullptr, nullptr); if (waiter != nullptr) { waiter->WaitForCompletion(); @@ -234,7 +238,7 @@ IAsyncResult^ OutputLink::BeginSend(AmqpMessage^ amqpMessage, TimeSpan timeout, ManagedToNative(amqpMessage); MessageBodyStream^ messageBodyStream = (MessageBodyStream^ ) amqpMessage->BodyStream; - CompletionWaiter^ waiter = amqpSession->SendMessage(queue, messageBodyStream, timeout, true, callback, state); + CompletionWaiter^ waiter = amqpSession->SendMessage(qpidAddress->LinkName, messageBodyStream, timeout, true, callback, state); return waiter; } |
