You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2008/09/26 19:11:19 UTC
svn commit: r699413 - in /incubator/qpid/trunk/qpid/cpp/src/qpid: broker/
cluster/ sys/
Author: aconway
Date: Fri Sep 26 10:11:19 2008
New Revision: 699413
URL: http://svn.apache.org/viewvc?rev=699413&view=rev
Log:
Fix build problems on rhel 5.2 and 64-bit encoding bug.
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.h
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.h
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueBindings.h
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.h
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h
incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.h
incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/DumpClient.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Event.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Event.h
incubator/qpid/trunk/qpid/cpp/src/qpid/sys/AggregateOutput.h
incubator/qpid/trunk/qpid/cpp/src/qpid/sys/PollableQueue.h
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.h?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.h Fri Sep 26 10:11:19 2008
@@ -98,7 +98,7 @@
void setUserId(const string& uid);
void setFederationLink(bool b);
- template <class F> void eachSessionHandler(const F& f) {
+ template <class F> void eachSessionHandler(F f) {
for (ChannelMap::iterator i = channels.begin(); i != channels.end(); ++i)
f(*ptr_map_ptr(i));
}
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.h?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.h Fri Sep 26 10:11:19 2008
@@ -62,10 +62,10 @@
void registerType(const std::string& type, FactoryFunction);
/** Call f for each exchange in the registry. */
- template <class F> void eachExchange(const F& f) const {
+ template <class F> void eachExchange(F f) const {
qpid::sys::RWlock::ScopedWlock l(lock);
- std::for_each(exchanges.begin(), exchanges.end(),
- boost::bind(f, boost::bind(&ExchangeMap::value_type::second, _1)));
+ for (ExchangeMap::const_iterator i = exchanges.begin(); i != exchanges.end(); ++i)
+ f(i->second);
}
private:
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h Fri Sep 26 10:11:19 2008
@@ -213,13 +213,13 @@
ManagementMethod (uint32_t methodId, management::Args& args, std::string& text);
/** Apply f to each Message on the queue. */
- template <class F> void eachMessage(const F& f) const {
+ template <class F> void eachMessage(F f) const {
sys::Mutex::ScopedLock l(messageLock);
std::for_each(messages.begin(), messages.end(), f);
}
/** Apply f to each QueueBinding on the queue */
- template <class F> void eachBinding(const F& f) {
+ template <class F> void eachBinding(F f) {
bindings.eachBinding(f);
}
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueBindings.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueBindings.h?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueBindings.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueBindings.h Fri Sep 26 10:11:19 2008
@@ -44,7 +44,7 @@
public:
/** Apply f to each QueueBinding. */
- template <class F> void eachBinding(const F& f) const { std::for_each(bindings.begin(), bindings.end(), f); }
+ template <class F> void eachBinding(F f) const { std::for_each(bindings.begin(), bindings.end(), f); }
void add(const std::string& exchange, const std::string& key, const qpid::framing::FieldTable& args);
void unbind(ExchangeRegistry& exchanges, boost::shared_ptr<Queue> queue);
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h Fri Sep 26 10:11:19 2008
@@ -102,10 +102,10 @@
void setParent (management::Manageable* _parent) { parent = _parent; }
/** Call f for each queue in the registry. */
- template <class F> void eachQueue(const F& f) const {
+ template <class F> void eachQueue(F f) const {
qpid::sys::RWlock::ScopedWlock l(lock);
- std::for_each(queues.begin(), queues.end(),
- boost::bind(f, boost::bind(&QueueMap::value_type::second, _1)));
+ for (QueueMap::const_iterator i = queues.begin(); i != queues.end(); ++i)
+ f(i->second);
}
private:
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.h?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.h Fri Sep 26 10:11:19 2008
@@ -204,10 +204,8 @@
void attached();
void detached();
- template <class F> void eachConsumer(const F& f) {
- outputTasks.eachOutput(
- boost::bind(f, boost::bind(&boost::polymorphic_downcast<ConsumerImpl*, OutputTask>, _1)));
- }
+ static ConsumerImpl* castToConsumerImpl(OutputTask* p) { return boost::polymorphic_downcast<ConsumerImpl*>(p); }
+ template <class F> void eachConsumer(F f) { outputTasks.eachOutput(boost::bind(f, boost::bind(castToConsumerImpl, _1))); }
};
}} // namespace qpid::broker
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h Fri Sep 26 10:11:19 2008
@@ -100,7 +100,7 @@
void readyToSend();
- template <class F> void eachConsumer(const F& f) { semanticState.eachConsumer(f); }
+ template <class F> void eachConsumer(F f) { semanticState.eachConsumer(f); }
private:
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp Fri Sep 26 10:11:19 2008
@@ -115,7 +115,7 @@
mcastEvent(e);
}
-void Cluster::mcastBuffer(const char* data, size_t size, const ConnectionId& connection, size_t id) {
+void Cluster::mcastBuffer(const char* data, size_t size, const ConnectionId& connection, uint32_t id) {
Event e(DATA, connection, size, id);
memcpy(e.getData(), data, size);
QPID_LOG(trace, "MCAST " << e);
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.h?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.h Fri Sep 26 10:11:19 2008
@@ -77,7 +77,7 @@
/** Send to the cluster */
void mcastControl(const framing::AMQBody& controlBody, Connection* cptr);
- void mcastBuffer(const char*, size_t, const ConnectionId&, size_t id);
+ void mcastBuffer(const char*, size_t, const ConnectionId&, uint32_t id);
void mcastEvent(const Event& e);
/** Leave the cluster */
@@ -97,8 +97,8 @@
void setDumpComplete();
template <class F> void eachConnection(const F& f) {
- std::for_each(connections.begin(), connections.end(),
- boost::bind(f, boost::bind(&ConnectionMap::value_type::second, _1)));
+ for (ConnectionMap::const_iterator i = connections.begin(); i != connections.end(); ++i)
+ f(i->second);
}
private:
@@ -143,7 +143,7 @@
virtual management::Manageable::status_t ManagementMethod (uint32_t methodId, management::Args& args, std::string& text);
void stopClusterNode(void);
void stopFullCluster(void);
- void updateMemberStats(void);
+ void updateMemberStats(void);
mutable sys::Monitor lock; // Protect access to members.
broker::Broker& broker;
@@ -165,7 +165,7 @@
JoiningHandler joiningHandler;
MemberHandler memberHandler;
- size_t mcastId;
+ uint32_t mcastId;
friend class ClusterHandler;
friend class JoiningHandler;
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/DumpClient.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/DumpClient.cpp?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/DumpClient.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/DumpClient.cpp Fri Sep 26 10:11:19 2008
@@ -168,6 +168,10 @@
QPID_LOG(debug, donor.getId() << " dumped connection " << *dumpConnection);
}
+// FIXME aconway 2008-09-26: REMOVE
+void foo(broker::SemanticState::ConsumerImpl*) {}
+
+
void DumpClient::dumpSession(broker::SessionHandler& sh) {
QPID_LOG(debug, donor.getId() << " dumping session " << &sh.getConnection() << "[" << sh.getChannel() << "] = "
<< sh.getSession()->getId());
@@ -187,7 +191,8 @@
// Re-create session state on remote connection.
broker::SessionState* ss = sh.getSession();
- ss->eachConsumer(boost::bind(&DumpClient::dumpConsumer, this, _1));
+ // For reasons unknown, boost::bind does not work here with boost 1.33.
+ ss->eachConsumer(std::bind1st(std::mem_fun(&DumpClient::dumpConsumer),this));
// FIXME aconway 2008-09-19: remaining session state.
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Event.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Event.cpp?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Event.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Event.cpp Fri Sep 26 10:11:19 2008
@@ -31,16 +31,16 @@
using framing::Buffer;
-const size_t Event::OVERHEAD = sizeof(uint8_t) + sizeof(uint64_t) + sizeof(size_t);
+const size_t Event::OVERHEAD = sizeof(uint8_t) + sizeof(uint64_t) + sizeof(uint32_t);
-Event::Event(EventType t, const ConnectionId& c, size_t s, size_t i)
+Event::Event(EventType t, const ConnectionId& c, size_t s, uint32_t i)
: type(t), connectionId(c), size(s), data(RefCountedBuffer::create(s)), id(i) {}
Event Event::delivered(const MemberId& m, void* d, size_t s) {
Buffer buf(static_cast<char*>(d), s);
EventType type((EventType)buf.getOctet());
ConnectionId connection(m, reinterpret_cast<Connection*>(buf.getLongLong()));
- size_t id = buf.getLong();
+ uint32_t id = buf.getLong();
assert(buf.getPosition() == OVERHEAD);
Event e(type, connection, s-OVERHEAD, id);
memcpy(e.getData(), static_cast<char*>(d)+OVERHEAD, s-OVERHEAD);
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Event.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Event.h?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Event.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/cluster/Event.h Fri Sep 26 10:11:19 2008
@@ -43,7 +43,7 @@
class Event {
public:
/** Create an event to mcast with a buffer of size bytes. */
- Event(EventType t=DATA, const ConnectionId& c=ConnectionId(), size_t size=0, size_t id=0);
+ Event(EventType t=DATA, const ConnectionId& c=ConnectionId(), size_t size=0, uint32_t id=0);
/** Create an event copied from delivered data. */
static Event delivered(const MemberId& m, void* data, size_t size);
@@ -65,7 +65,7 @@
ConnectionId connectionId;
size_t size;
RefCountedBuffer::pointer data;
- size_t id;
+ uint32_t id;
};
std::ostream& operator << (std::ostream&, const Event&);
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/sys/AggregateOutput.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/sys/AggregateOutput.h?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/sys/AggregateOutput.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/sys/AggregateOutput.h Fri Sep 26 10:11:19 2008
@@ -50,7 +50,7 @@
void removeOutputTask(OutputTask* t);
/** Apply f to each OutputTask* in the tasks list */
- template <class F> void eachOutput(const F& f) {
+ template <class F> void eachOutput(F f) {
std::for_each(tasks.begin(), tasks.end(), f);
}
};
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/sys/PollableQueue.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/sys/PollableQueue.h?rev=699413&r1=699412&r2=699413&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/sys/PollableQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/sys/PollableQueue.h Fri Sep 26 10:11:19 2008
@@ -53,7 +53,7 @@
/** @see forEach() */
template <class F> struct ForEach {
F handleOne;
- ForEach(const F& f) : handleOne(f) {}
+ ForEach(F f) : handleOne(f) {}
void operator()(const iterator& i, const iterator& j) const { std::for_each(i, j, handleOne); }
};