Bucket a flat list of in-use addresses into an AllocationDemand.
The caller collects the addresses (it knows what "attached" means for each pool); this puts
them where the proposal looks for them, keyed by the BUS_TYPES table so the mapping
from channel kind to allocation pool exists once. An address whose kind is not an allocatable
bus — fxSend, which the FX rack creates implicitly and nobody allocates — is DROPPED, not
force-fitted into a neighbouring pool.
Bucket a flat list of in-use addresses into an AllocationDemand.
The caller collects the addresses (it knows what "attached" means for each pool); this puts them where the proposal looks for them, keyed by the BUS_TYPES table so the mapping from channel kind to allocation pool exists once. An address whose kind is not an allocatable bus —
fxSend, which the FX rack creates implicitly and nobody allocates — is DROPPED, not force-fitted into a neighbouring pool.