Github user bozzzzo commented on a diff in the pull request:

    https://github.com/apache/qpid-proton/pull/48#discussion_r36181146
  
    --- Diff: 
proton-j/src/main/java/org/apache/qpid/proton/engine/impl/EventImpl.java ---
    @@ -217,6 +101,19 @@ public void dispatch(Handler handler)
                 dispatch(children.next());
             }
         }
    +    
    +    @Override
    +    public void redispatch(EventType as_type, Handler handler) throws 
HandlerException 
    --- End diff --
    
    This is for now the only way to actually generate non-core, events...
    
    I'll extend the javadoc to make it explicit. This was the minimal change 
needed and right now behaves as you describe.
    
    A typical example would be a message decoder handler that turns a DELIVERY 
event into a MESSAGE event with attached message in the event. Or a timer for 
periodic sampling of a Connection, and so on.
    
    I'm in fact sitting on some more reactor/collector changes that were done 
later and for other use cases. One of them is the ability for a handler to have 
children process the event synchronously.
    I can also fold the implementation of that change in here as it would then 
allow redispatch() to have child handlers be invoked first with the original 
event, before redispatching the new type.
    And keep exposing the interface for that in a separate jira.



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to