Tags: ccp-project/portus
Tags
CongAlg: split trait to support dynamic dispatch Because it contains an associated type, it was previously impossible to express dynamic dispatch across congestion control algorithms; i.e., in the case where the runtime allows dynamic switching between a battery of congestion control algorithms. Therefore, remove the `Config` associated type. Instead, implementations of `CongAlg` will contain configuration options. Rename the `create()` method to `new_flow()` and have it take `&self`, and produce a value of the associated type `Flow`, which implements the trait `Flow`. Then move `on_report()` and `close()` functions from `CongAlg` to the trait `Flow`. Finally, to support dynamic dispatch, add non-public trait `CongAlgDyn`, which for all `T, C: CongAlg<Flow=T>` will `Box` up the return value of `new_flow()`. Temporarily remove python bindings for generic-cong-avoid; will mimgrate these to the generic-cong-avoid repo.
PreviousNext