nasa / bplib

Apache License 2.0
30 stars 13 forks source link

Fix #91, initial implementation of job queues #101

Closed jphickey closed 2 years ago

jphickey commented 2 years ago

Contains several enhancements to make work queues more abstract and easier to manage.*

This also enhances the bplib_mpool_block_t structure such that every instance of this structure is traceable back to its parent block as well as the pool it originally came from. This alleviates the need to pass the pool pointer separately on many APIs, simplifying things.

Introduces another block type for a "job" which is abstracted to represent any schedulable item. This was formerly only for flows, but now can be used for any purpose. State changes of interfaces are now handled through this method.

Fixes #91

Note: a follow on work item will need to be added, because this still does not adequately throttle back the sending of bundles based on the CLA/Application willingness to accept them, which is the ultimate goal.