[ 
https://issues.apache.org/jira/browse/QPID-693?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Ross updated QPID-693:
--------------------------

    Description: 
Queue statistics fixed.  Additional objects added (exchange, binding).

Changes:

M      cpp/src/qpid/broker/ExchangeRegistry.h
M      cpp/src/qpid/broker/ExchangeRegistry.cpp

    ExchangeRegistry was modified to pass a parent pointer to created
    exchanges.  This parent reference is not stored but is used to
    link management objects in a hierarchy of ownership.

M      cpp/src/qpid/broker/Exchange.h
M      cpp/src/qpid/broker/Exchange.cpp

    Exchange now inherits Manageable to make it visible via the
    management interface.  The Exchange parent class handles most of
    the management boilerplate.  A Binding struct was introduced to
    track bindings for management.  This is separate from
    QueueBindings which track bindings for queues.

M      cpp/src/qpid/broker/HeadersExchange.h
M      cpp/src/qpid/broker/FanOutExchange.h
M      cpp/src/qpid/broker/DirectExchange.h
M      cpp/src/qpid/broker/TopicExchange.h
M      cpp/src/qpid/broker/HeadersExchange.cpp
M      cpp/src/qpid/broker/FanOutExchange.cpp
M      cpp/src/qpid/broker/DirectExchange.cpp
M      cpp/src/qpid/broker/TopicExchange.cpp
M      cpp/src/qpid/management/ManagementExchange.cpp
M      cpp/src/qpid/management/ManagementExchange.h

    Each exchange type handles management stats in its own specific
    way.  Additionally, the constructors pass the management parent
    pointer to the constructor or Exchange.

    An extra layer was added to contain bindings.  Instead of directly
    storing bound queues, the exchanges store "bindings" which are
    managable constructs.

M      cpp/src/qpid/broker/Broker.cpp

    Broker now explicitly enables the management agent.  Also sets the
    management parent (vhost) in the exchange registry.

M      cpp/src/qpid/broker/Vhost.cpp

    Updated constructor to be more defensive in case the management
    agent has not been enabled.

M      cpp/src/qpid/broker/Queue.cpp

    Same constructor update as vhost.  Moved accounting of dequeues
    into "pop". Implemented management method handler (purge).

M      cpp/src/qpid/broker/Deliverable.h

    A new method was added to extract the content size of the
    deliverable content (if appropriate).  The method is not pure
    virtual and returns zero if not overridden.

M      cpp/src/qpid/broker/DeliverableMessage.h
M      cpp/src/qpid/broker/TxPublish.cpp
M      cpp/src/qpid/broker/DeliverableMessage.cpp
M      cpp/src/qpid/broker/TxPublish.h

    These derivatives of Deliverable were updated with overrides for
    contenSize.

M      cpp/src/qpid/management/ManagementAgent.h
M      cpp/src/qpid/management/ManagementAgent.cpp

    An "enable" method was added to prevent inadvertent creation of a
    management agent when not desired.

    Adding and deleting management objects is now protected by a
    mutex.

    Make sure that deleted objects get reported even if neither their
    configuration nor instrumentation is changed.

M      specs/management-schema.xml

    Minor cosmetic updates.  Additional parent linkage.

M      cpp/managementgen/schema.py
M      cpp/managementgen/templates/Class.cpp

    Added generated code to publish schema details for methods.




  was:
Queue statistics fixed.  Additional objects added (exchange, binding).

Changes:

The change list has been removed and will be replaced when the new patch file 
is attached.




> Management updates: additional objects implemented
> --------------------------------------------------
>
>                 Key: QPID-693
>                 URL: https://issues.apache.org/jira/browse/QPID-693
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>            Reporter: Ted Ross
>            Priority: Minor
>         Attachments: qpid-patch10.diff
>
>
> Queue statistics fixed.  Additional objects added (exchange, binding).
> Changes:
> M      cpp/src/qpid/broker/ExchangeRegistry.h
> M      cpp/src/qpid/broker/ExchangeRegistry.cpp
>     ExchangeRegistry was modified to pass a parent pointer to created
>     exchanges.  This parent reference is not stored but is used to
>     link management objects in a hierarchy of ownership.
> M      cpp/src/qpid/broker/Exchange.h
> M      cpp/src/qpid/broker/Exchange.cpp
>     Exchange now inherits Manageable to make it visible via the
>     management interface.  The Exchange parent class handles most of
>     the management boilerplate.  A Binding struct was introduced to
>     track bindings for management.  This is separate from
>     QueueBindings which track bindings for queues.
> M      cpp/src/qpid/broker/HeadersExchange.h
> M      cpp/src/qpid/broker/FanOutExchange.h
> M      cpp/src/qpid/broker/DirectExchange.h
> M      cpp/src/qpid/broker/TopicExchange.h
> M      cpp/src/qpid/broker/HeadersExchange.cpp
> M      cpp/src/qpid/broker/FanOutExchange.cpp
> M      cpp/src/qpid/broker/DirectExchange.cpp
> M      cpp/src/qpid/broker/TopicExchange.cpp
> M      cpp/src/qpid/management/ManagementExchange.cpp
> M      cpp/src/qpid/management/ManagementExchange.h
>     Each exchange type handles management stats in its own specific
>     way.  Additionally, the constructors pass the management parent
>     pointer to the constructor or Exchange.
>     An extra layer was added to contain bindings.  Instead of directly
>     storing bound queues, the exchanges store "bindings" which are
>     managable constructs.
> M      cpp/src/qpid/broker/Broker.cpp
>     Broker now explicitly enables the management agent.  Also sets the
>     management parent (vhost) in the exchange registry.
> M      cpp/src/qpid/broker/Vhost.cpp
>     Updated constructor to be more defensive in case the management
>     agent has not been enabled.
> M      cpp/src/qpid/broker/Queue.cpp
>     Same constructor update as vhost.  Moved accounting of dequeues
>     into "pop". Implemented management method handler (purge).
> M      cpp/src/qpid/broker/Deliverable.h
>     A new method was added to extract the content size of the
>     deliverable content (if appropriate).  The method is not pure
>     virtual and returns zero if not overridden.
> M      cpp/src/qpid/broker/DeliverableMessage.h
> M      cpp/src/qpid/broker/TxPublish.cpp
> M      cpp/src/qpid/broker/DeliverableMessage.cpp
> M      cpp/src/qpid/broker/TxPublish.h
>     These derivatives of Deliverable were updated with overrides for
>     contenSize.
> M      cpp/src/qpid/management/ManagementAgent.h
> M      cpp/src/qpid/management/ManagementAgent.cpp
>     An "enable" method was added to prevent inadvertent creation of a
>     management agent when not desired.
>     Adding and deleting management objects is now protected by a
>     mutex.
>     Make sure that deleted objects get reported even if neither their
>     configuration nor instrumentation is changed.
> M      specs/management-schema.xml
>     Minor cosmetic updates.  Additional parent linkage.
> M      cpp/managementgen/schema.py
> M      cpp/managementgen/templates/Class.cpp
>     Added generated code to publish schema details for methods.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to