Author: gsim
Date: Wed Dec 13 01:22:07 2006
New Revision: 486555
URL: http://svn.apache.org/viewvc?view=rev&rev=486555
Log:
Added prepared() method to MessageStore interface.
Modified:
incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStore.h
incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStoreModule.cpp
incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStoreModule.h
incubator/qpid/trunk/qpid/cpp/lib/broker/NullMessageStore.cpp
incubator/qpid/trunk/qpid/cpp/lib/broker/NullMessageStore.h
incubator/qpid/trunk/qpid/cpp/lib/client/Connection.h
Modified: incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStore.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStore.h?view=diff&rev=486555&r1=486554&r2=486555
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStore.h (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStore.h Wed Dec 13 01:22:07
2006
@@ -117,6 +117,11 @@
* place or null for 'local' transactions
*/
virtual void dequeue(TransactionContext* ctxt, Message* const msg,
const Queue& queue, const std::string * const xid) = 0;
+
+ /**
+ * Treat all enqueue/dequeues where this xid was specified as
being prepared.
+ */
+ virtual void prepared(const std::string * const xid) = 0;
/**
* Treat all enqueue/dequeues where this xid was specified as
being committed.
*/
Modified: incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStoreModule.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStoreModule.cpp?view=diff&rev=486555&r1=486554&r2=486555
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStoreModule.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStoreModule.cpp Wed Dec 13
01:22:07 2006
@@ -73,6 +73,11 @@
store->dequeue(ctxt, msg, queue, xid);
}
+void MessageStoreModule::prepared(const string * const xid)
+{
+ store->prepared(xid);
+}
+
void MessageStoreModule::committed(const string * const xid)
{
store->committed(xid);
Modified: incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStoreModule.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStoreModule.h?view=diff&rev=486555&r1=486554&r2=486555
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStoreModule.h (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/broker/MessageStoreModule.h Wed Dec 13
01:22:07 2006
@@ -45,8 +45,9 @@
void loadContent(Message* const msg, std::string& data, u_int64_t
offset, u_int32_t length);
void enqueue(TransactionContext* ctxt, Message* const msg, const
Queue& queue, const string * const xid);
void dequeue(TransactionContext* ctxt, Message* const msg, const
Queue& queue, const string * const xid);
- void committed(const string * const xid);
- void aborted(const string * const xid);
+ void prepared(const std::string * const xid);
+ void committed(const std::string * const xid);
+ void aborted(const std::string * const xid);
std::auto_ptr<TransactionContext> begin();
void commit(TransactionContext* ctxt);
void abort(TransactionContext* ctxt);
Modified: incubator/qpid/trunk/qpid/cpp/lib/broker/NullMessageStore.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/broker/NullMessageStore.cpp?view=diff&rev=486555&r1=486554&r2=486555
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/broker/NullMessageStore.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/broker/NullMessageStore.cpp Wed Dec 13
01:22:07 2006
@@ -75,6 +75,11 @@
if (warn) std::cout << "WARNING: Can't dequeue message from '" <<
queue.getName() << "'. Persistence not enabled." << std::endl;
}
+void NullMessageStore::prepared(const string * const)
+{
+ if (warn) std::cout << "WARNING: Persistence not enabled." << std::endl;
+}
+
void NullMessageStore::committed(const string * const)
{
if (warn) std::cout << "WARNING: Persistence not enabled." << std::endl;
Modified: incubator/qpid/trunk/qpid/cpp/lib/broker/NullMessageStore.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/broker/NullMessageStore.h?view=diff&rev=486555&r1=486554&r2=486555
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/broker/NullMessageStore.h (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/broker/NullMessageStore.h Wed Dec 13
01:22:07 2006
@@ -44,8 +44,9 @@
virtual void loadContent(Message* const msg, std::string& data,
u_int64_t offset, u_int32_t length);
virtual void enqueue(TransactionContext* ctxt, Message* const msg,
const Queue& queue, const string * const xid);
virtual void dequeue(TransactionContext* ctxt, Message* const msg,
const Queue& queue, const string * const xid);
- virtual void committed(const string * const xid);
- virtual void aborted(const string * const xid);
+ virtual void prepared(const std::string * const xid);
+ virtual void committed(const std::string * const xid);
+ virtual void aborted(const std::string * const xid);
virtual std::auto_ptr<TransactionContext> begin();
virtual void commit(TransactionContext* ctxt);
virtual void abort(TransactionContext* ctxt);
Modified: incubator/qpid/trunk/qpid/cpp/lib/client/Connection.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/lib/client/Connection.h?view=diff&rev=486555&r1=486554&r2=486555
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/lib/client/Connection.h (original)
+++ incubator/qpid/trunk/qpid/cpp/lib/client/Connection.h Wed Dec 13 01:22:07
2006
@@ -42,7 +42,12 @@
class Channel;
-class Connection : public virtual qpid::framing::InputHandler,
+ /**
+ * Represents a connection to an AMQP broker. All communication is
+ * initiated by establishing a connection, then opening one or
+ * more channels over that connection.
+ */
+ class Connection : public virtual qpid::framing::InputHandler,
public virtual qpid::sys::TimeoutHandler,
public virtual qpid::sys::ShutdownHandler,
private virtual qpid::framing::BodyHandler{
@@ -59,7 +64,7 @@
qpid::framing::OutputHandler* out;
ResponseHandler responses;
volatile bool closed;
- qpid::framing::ProtocolVersion version;
+ qpid::framing::ProtocolVersion version;
void channelException(Channel* channel, qpid::framing::AMQMethodBody*
body, QpidError& e);
void error(int code, const std::string& msg, int classid = 0, int
methodid = 0);
@@ -72,9 +77,23 @@
virtual void
handleHeartbeat(qpid::framing::AMQHeartbeatBody::shared_ptr body);
public:
-
+ /**
+ * Creates a connection object, but does not open the
+ * connection.
+ *
+ * @param debug turns on tracing for the connection
+ * (i.e. prints details of the frames sent and received to std
+ * out). Optional and defaults to false.
+ *
+ * @param max_frame_size the maximum frame size that the
+ * client will accept. Optional and defaults to 65536.
+ */
Connection(bool debug = false, u_int32_t max_frame_size = 65536);
~Connection();
+
+ /**
+ *
+ */
void open(const std::string& host, int port = 5672,
const std::string& uid = "guest", const std::string& pwd =
"guest",
const std::string& virtualhost = "/");
@@ -100,7 +119,6 @@
inline u_int32_t getMaxFrameSize(){ return max_frame_size; }
};
-
}
}