diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-07-18 22:20:11 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-07-18 22:20:11 +0200 |
commit | 43aebb09438ff589a7be141a5af0aec2c27eaa95 (patch) | |
tree | a01cf8fc060407dc665b456aa0bb5514b0d3a5aa /src/fig/FIGCarousel.h | |
parent | ba8a05f29b819eb99d9cc9e69f8da7003e2c79c1 (diff) | |
download | dabmux-43aebb09438ff589a7be141a5af0aec2c27eaa95.tar.gz dabmux-43aebb09438ff589a7be141a5af0aec2c27eaa95.tar.bz2 dabmux-43aebb09438ff589a7be141a5af0aec2c27eaa95.zip |
Add FIG0/2, fib0 scheduler
Diffstat (limited to 'src/fig/FIGCarousel.h')
-rw-r--r-- | src/fig/FIGCarousel.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/fig/FIGCarousel.h b/src/fig/FIGCarousel.h index cbb6868..42b8d9c 100644 --- a/src/fig/FIGCarousel.h +++ b/src/fig/FIGCarousel.h @@ -30,20 +30,39 @@ #define __FIG_CAROUSEL_H_ #include "fig/FIG.h" +#include "fig/FIG0.h" #include <list> +#include <map> #include <boost/shared_ptr.hpp> #include "MuxElements.h" +struct FIGCarouselElement { + IFIG* fig; + int deadline; + + void reduce_deadline(void); +}; + class FIGCarousel { public: FIGCarousel(boost::shared_ptr<dabEnsemble> ensemble); void set_currentFrame(unsigned long currentFrame); + void allocate_fig_to_fib(int figtype, int extension, int fib); + + void fib0(int framephase); + private: FIGRuntimeInformation m_rti; - std::list<IFIG> m_figs; + std::map<std::pair<int, int>, IFIG*> m_figs_available; + + // Each FIB contains a list of carousel elements + std::map<int, std::list<FIGCarouselElement> > m_fibs; + FIG0_0 m_fig0_0; + FIG0_1 m_fig0_1; + FIG0_2 m_fig0_2; }; #endif // __FIG_CAROUSEL_H_ |