Discussion: Split Bundle Processor
The bundle processing in case of AAP 2.0 with BDM looks as follows (PDF attached):
This means we have almost a linear pipeline structure, excluding the notifications of bundle enqueue/TX success/failure that need to be posted to the BDM (which, in response, can trigger a re-dispatch of the bundle).
At the moment, the loops in the picture require careful handling of BP signals to prevent lockups if any queue is full (at least this can become a problem if we switch the AAP 2.0 agent to simple_queue
which has higher performance than pipeq
) and also make the BP a bottleneck for bundle throughput.
We could "cut" the BP at the shown lines, but need some novel solution for the enqueue/TX success/failure notifications. An idea would be a new component aggregating bundles that are pending deletion (or re-dispatch) and provide a dedicated notification to the BDM via the AAP 2.0 agent.