diff options
author | Alan Conway <aconway@apache.org> | 2007-09-25 18:16:02 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2007-09-25 18:16:02 +0000 |
commit | 00b761b3b6d80ee2bb3e538face881748efb2b09 (patch) | |
tree | 59c1b38093bb0cd993863f8c72cd8d22a3aa7bb9 /cpp/src/qpid/broker/Exchange.cpp | |
parent | bbdaa6ec54ad9d04baa5ae1cb4d99c0387aa7d9d (diff) | |
download | qpid-python-00b761b3b6d80ee2bb3e538face881748efb2b09.tar.gz |
Renamed the following files for consistency:
broker/BrokerExchange.cpp -> Exchange.cpp
broker/BrokerExchange.h -> Exchange.h
broker/BrokerQueue.cpp -> Queue.cpp
broker/BrokerQueue.h -> Queue.h
client/ClientChannel.cpp -> Channel.cpp
client/ClientChannel.h -> Channel.h
client/ClientConnection.cpp -> Connection.cpp
client/ClientExchange.cpp -> Exchange.cpp
client/ClientExchange.h -> Exchange.h
client/ClientMessage.h -> Message.h
client/ClientQueue.cpp -> Queue.cpp
client/ClientQueue.h -> Queue.h
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@579340 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Exchange.cpp')
-rw-r--r-- | cpp/src/qpid/broker/Exchange.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/Exchange.cpp b/cpp/src/qpid/broker/Exchange.cpp new file mode 100644 index 0000000000..04407eb774 --- /dev/null +++ b/cpp/src/qpid/broker/Exchange.cpp @@ -0,0 +1,60 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +#include "Exchange.h" +#include "ExchangeRegistry.h" + +using namespace qpid::broker; +using qpid::framing::Buffer; +using qpid::framing::FieldTable; + +Exchange::shared_ptr Exchange::decode(ExchangeRegistry& exchanges, Buffer& buffer) +{ + string name; + string type; + FieldTable args; + + buffer.getShortString(name); + bool durable(buffer.getOctet()); + buffer.getShortString(type); + buffer.getFieldTable(args); + + return exchanges.declare(name, type, durable, args).first; +} + +void Exchange::encode(Buffer& buffer) const +{ + buffer.putShortString(name); + buffer.putOctet(durable); + buffer.putShortString(getType()); + buffer.putFieldTable(args); +} + +uint32_t Exchange::encodedSize() const +{ + return name.size() + 1/*short string size*/ + + 1 /*durable*/ + + getType().size() + 1/*short string size*/ + + args.size(); +} + + + |