Review Board 1.7.22

QPID-3002: Queue threshold alerts

Review Request #420 - Created Feb. 11, 2011 and submitted

Gordon Sim
aconway, kgiusti, tross
Add ability to generate QMF alerts when queue depth (msgs or bytes) reaches a particular configurable level.

This is implemented by adding a QueueObserver interface to the Queue code, and includes a refactoring of the QueueEvents (for replication) to also sit behind that interface. The QueueObserver could be extended to allow observation/notification of other events/transitions, but at present it just defined enqueued and dequeued. (This same interface may be useful for the flow control stuff when that gets merged in).
Tested with qpid-printevents, the newly added console example for the cpp QMFV2 and added a new automated test in python.
Review request changed
Updated (Feb. 14, 2011, 8:34 a.m.)
Updated patch to:

* cover missing paths for enqueue notification (and to refactor those paths to make it harder to make the same mistake in future I hope)
* add exception handling for observer notification
* separated out the enabling of QMFv2 data broadcasts (see QPID-3053)