[ 
https://issues.apache.org/jira/browse/QPID-6255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14244643#comment-14244643
 ] 

Ken Giusti commented on QPID-6255:
----------------------------------

I've scaled back the patch a bit:

https://github.com/kgiusti/qpid/commit/73ead9f5144ef38d647fcb8ee5d623a08531189e

It now merely replaces the iterative endpoint state and delivery state 
processing with the corresponding event-based approach.  FLOW events are 
ignored in Connection::process() - the same old codepath 
(Connection::dispatch()) is used for checking available credit on sender links. 
 There's still a bit of a perf hit (even though we discard all other events), 
but we're still in the 1-2% range.

The only other significant change was to Connection::doOutput() - I noticed 
that the original version would skip generating output if the transport didn't 
already have some output buffered.  That didn't seem correct - I've modified it 
to allow an initially empty buffer (and to stop when either capacity or the 
transport buffer is full).    Does that make sense?



> [amqp1.0] Migrate to the new Proton event API
> ---------------------------------------------
>
>                 Key: QPID-6255
>                 URL: https://issues.apache.org/jira/browse/QPID-6255
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.30
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>             Fix For: Future
>
>
> Proton version 0.8 introduced an event-based API.  The Qpid broker currently 
> uses the older API which requires a linear search of deliveries, links, and 
> sessions during event processing.  Migrating to the new API _should_ optimize 
> event processing, especially as the number of object instances scale.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to