You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ted Ross (JIRA)" <qp...@incubator.apache.org> on 2007/10/18 23:31:50 UTC

[jira] Created: (QPID-651) Patch implementing management agent for C++ broker

Patch implementing management agent for C++ broker
--------------------------------------------------

                 Key: QPID-651
                 URL: https://issues.apache.org/jira/browse/QPID-651
             Project: Qpid
          Issue Type: New Feature
          Components: C++ Broker
            Reporter: Ted Ross
            Priority: Minor
         Attachments: mgmt.diff

Attached is a patch that contains new code and changes for the initial implementation of the broker management agent.
Note that the agent may be enabled/disabled from the command line and it now defaults to disabled (this will change later obviously).

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


[jira] Commented: (QPID-651) Patch implementing management agent for C++ broker

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536056 ] 

Ted Ross commented on QPID-651:
-------------------------------

Here's the discussion history on this patch between myself and Andrew:

On Thu, 2007-10-18 at 13:16 -0400, Ted Ross wrote:
> > Andrew Stitcher wrote:
>> > > Just code reading at present:
>> > >
>> > > * Where you serialise a classes contents into a buffer the member
>> > > function name should be "encode" - I will be introducing an formal
>> > > interface to cover serialisation/deserialisation soon so keeping the
>> > > names consistent will help get this refactoring correct. Also the rest
>> > > of the code always does this on a class by class basis so that what's
>> > > encoded is always the state of an object. Rather than the "procedural"
>> > > style of code you've got.
>> > >   
> > What I am intending is not strict serialization.  Each ManagementObject 
> > is able to generate schema, configuration, or instrumentation data for 
> > transmission to the management console.  Instead of having three virtual 
> > methods, should I make a single "encode" method that takes an argument 
> > controlling what part of the state is encoded?

I think the way the rest of the code does it would mean introducing new
classes for objects which are wrapped by ManagementObject one for each
of schema, configuration and instrumentation.

The model here would be the generated code for amqp methods. In fact it
would be good to somehow generate theses structures using the same sort
of method (from and XML spec, although you wouldn't be coming from the
standard yet). Gordon and Alan know more about how this works than me.

>> > > * The qpid C++ code base does not use NULL to indicate a null pointer -
>> > > use 0 instead. (you will find NULL used very occasionally, but it's the
>> > > exception)
>> > >   
> > Noted.  I'll fix this.
>> > > * You seem to have added Message::setContent commented out: is this a
>> > > mistake? If you intended it to be there put it there if not don't, if
>> > > you're not using it yet then it probably better for it not to be there
>> > > until you use it.
>> > >   
> > You're right.  I intended to delete that section as it was never used.
>> > > * The way you use the buffer to send your messages is very different
>> > > from anything else in the broker - I don't think it really fits. Give me
>> > > some time to think how I think something like this is supposed to be
>> > > done! I may well consult with Gordon and Alan on this as they will have
>> > > (possibly strong) ideas.
>> > >   
> > The only example of messages being sourced from within the broker that I 
> > was aware of was the case where persistent data is recovered from the 
> > store and sent.  My code is based on that example.  Any input as to how 
> > to make this more architecturally pure would be greatly appreciated.
> > 
> > One thing I thought about but didn't do was to move the management of 
> > the EOF/BOF flags to the frameset.append method.  It seemed like a 
> > little bit of a hack for me to set them externally.

To be more specific: one thing that I'm not sure about is the way the
code goes back to fill in the length. I think we almost never do this.
This is because if the data has to be split over multiple buffers and so
you must send a buffer before finishing the write you can't go back
anymore. I'm not sure if this would apply to what you're doing though.
Having said that it's quite a neat solution.

>> > > Cheers
>> > >
>> > > Andrew
>> > >   
> > Should I give you a new patch with the above changes or should I wait 
> > for you to get back to me on the unresolved questions?

If you don't mind it'd be better to send me an ammended patch.

I'll look at this again tomorrow.

Andrew




> Patch implementing management agent for C++ broker
> --------------------------------------------------
>
>                 Key: QPID-651
>                 URL: https://issues.apache.org/jira/browse/QPID-651
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: Ted Ross
>            Priority: Minor
>         Attachments: mgmt.diff
>
>
> Attached is a patch that contains new code and changes for the initial implementation of the broker management agent.
> Note that the agent may be enabled/disabled from the command line and it now defaults to disabled (this will change later obviously).

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


[jira] Resolved: (QPID-651) Patch implementing management agent for C++ broker

Posted by "Carl Trieloff (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carl Trieloff resolved QPID-651.
--------------------------------

    Resolution: Fixed

patch applied

> Patch implementing management agent for C++ broker
> --------------------------------------------------
>
>                 Key: QPID-651
>                 URL: https://issues.apache.org/jira/browse/QPID-651
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: Ted Ross
>            Priority: Minor
>         Attachments: mgmt.diff, mgmt.diff
>
>
> Attached is a patch that contains new code and changes for the initial implementation of the broker management agent.
> Note that the agent may be enabled/disabled from the command line and it now defaults to disabled (this will change later obviously).

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


[jira] Closed: (QPID-651) Patch implementing management agent for C++ broker

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Ross closed QPID-651.
-------------------------


> Patch implementing management agent for C++ broker
> --------------------------------------------------
>
>                 Key: QPID-651
>                 URL: https://issues.apache.org/jira/browse/QPID-651
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: Ted Ross
>            Priority: Minor
>         Attachments: mgmt.diff, mgmt.diff
>
>
> Attached is a patch that contains new code and changes for the initial implementation of the broker management agent.
> Note that the agent may be enabled/disabled from the command line and it now defaults to disabled (this will change later obviously).

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


[jira] Updated: (QPID-651) Patch implementing management agent for C++ broker

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Ross updated QPID-651:
--------------------------

    Attachment: mgmt.diff

> Patch implementing management agent for C++ broker
> --------------------------------------------------
>
>                 Key: QPID-651
>                 URL: https://issues.apache.org/jira/browse/QPID-651
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: Ted Ross
>            Priority: Minor
>         Attachments: mgmt.diff
>
>
> Attached is a patch that contains new code and changes for the initial implementation of the broker management agent.
> Note that the agent may be enabled/disabled from the command line and it now defaults to disabled (this will change later obviously).

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


[jira] Updated: (QPID-651) Patch implementing management agent for C++ broker

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Ross updated QPID-651:
--------------------------

    Attachment: mgmt.diff

Updated patch.
The original patch made use of raw pointers to some of the new objects.  This updated patch uses the shared_ptr templates instead.

> Patch implementing management agent for C++ broker
> --------------------------------------------------
>
>                 Key: QPID-651
>                 URL: https://issues.apache.org/jira/browse/QPID-651
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: Ted Ross
>            Priority: Minor
>         Attachments: mgmt.diff, mgmt.diff
>
>
> Attached is a patch that contains new code and changes for the initial implementation of the broker management agent.
> Note that the agent may be enabled/disabled from the command line and it now defaults to disabled (this will change later obviously).

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