diff options
| author | Ken Giusti <kgiusti@apache.org> | 2012-05-04 19:45:32 +0000 |
|---|---|---|
| committer | Ken Giusti <kgiusti@apache.org> | 2012-05-04 19:45:32 +0000 |
| commit | 60f328e85f79636dc9aa9822602b85555678718a (patch) | |
| tree | 50fecd7435b228255d899f7049b8994b7d235611 /cpp/src/qpid/broker/RecoveryManagerImpl.cpp | |
| parent | 83286c75a7a393bf8dabe311e33bda75124db8a5 (diff) | |
| download | qpid-python-60f328e85f79636dc9aa9822602b85555678718a.tar.gz | |
QPID-3767: re-index bridge and link by constant name, not address
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1334138 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/RecoveryManagerImpl.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/RecoveryManagerImpl.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/cpp/src/qpid/broker/RecoveryManagerImpl.cpp b/cpp/src/qpid/broker/RecoveryManagerImpl.cpp index d08409695e..858535637a 100644 --- a/cpp/src/qpid/broker/RecoveryManagerImpl.cpp +++ b/cpp/src/qpid/broker/RecoveryManagerImpl.cpp @@ -144,11 +144,13 @@ RecoverableTransaction::shared_ptr RecoveryManagerImpl::recoverTransaction(const RecoverableConfig::shared_ptr RecoveryManagerImpl::recoverConfig(framing::Buffer& buffer) { string kind; - + uint32_t p = buffer.getPosition(); buffer.getShortString (kind); - if (kind == "link") + buffer.setPosition(p); + + if (Link::isEncodedLink(kind)) return RecoverableConfig::shared_ptr(new RecoverableConfigImpl(Link::decode (links, buffer))); - else if (kind == "bridge") + else if (Bridge::isEncodedBridge(kind)) return RecoverableConfig::shared_ptr(new RecoverableConfigImpl(Bridge::decode (links, buffer))); return RecoverableConfig::shared_ptr(); // TODO: raise an exception instead |
