Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The pn_dispatcher_t class has two intertwined purposes -
- To hold some temporary and scratch data used for processing incoming and outgoing frames.
- To dispatch incoming frames to frame handling code.
It turns out that the first purpose is overhead: The temporary data can be better passed as parameters to the code that is using it; The scratch data is duplicated and would be better put in the associated pn_transport_t which is where is ends up going anyway.
The second purpose turns out to boil down to 1 boolean and some code which can be handled differently. The boolean is to tell the dispatcher to stop.