Changeset 15 in flair-src for trunk/lib/FlairCore/src/unexported/Thread_impl.h
- Timestamp:
- 04/08/16 15:40:57 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/FlairCore/src/unexported/Thread_impl.h
r2 r15 22 22 #endif 23 23 24 namespace flair 25 { 26 namespace core 27 { 28 class Thread; 29 class IODevice; 30 class ConditionVariable; 31 } 24 namespace flair { 25 namespace core { 26 class Thread; 27 class IODevice; 28 class ConditionVariable; 29 } 32 30 } 33 31 34 class Thread_impl 35 { 36 public: 37 Thread_impl(flair::core::Thread* self,uint8_t priority); 38 ~Thread_impl(); 39 void Start(void); 40 void Join(void); 41 void SafeStop(void); 42 bool ToBeStopped(void); 43 void SetPeriodUS(uint32_t period); 44 uint32_t GetPeriodUS(void) const; 45 void SetPeriodMS(uint32_t period); 46 uint32_t GetPeriodMS(void) const; 47 void WaitPeriod(void); 48 void Suspend(void); 49 bool SuspendUntil (flair::core::Time date); 50 void Resume(void); 51 bool IsSuspended(void); 52 int WaitUpdate(const flair::core::IODevice* device); 53 bool period_set; 32 class Thread_impl { 33 public: 34 Thread_impl(flair::core::Thread *self, uint8_t priority); 35 ~Thread_impl(); 36 void Start(void); 37 void Join(void); 38 void SafeStop(void); 39 bool ToBeStopped(void); 40 void SetPeriodUS(uint32_t period); 41 uint32_t GetPeriodUS(void) const; 42 void SetPeriodMS(uint32_t period); 43 uint32_t GetPeriodMS(void) const; 44 void WaitPeriod(void); 45 void Suspend(void); 46 bool SuspendUntil(flair::core::Time date); 47 void Resume(void); 48 bool IsSuspended(void); 49 int WaitUpdate(const flair::core::IODevice *device); 50 bool period_set; 54 51 55 56 flair::core::Thread*self;57 flair::core::ConditionVariable*cond;58 59 flair::core::Time max_jitter,min_jitter,mean_jitter;60 61 62 63 64 65 66 67 52 private: 53 flair::core::Thread *self; 54 flair::core::ConditionVariable *cond; 55 uint8_t priority; 56 flair::core::Time max_jitter, min_jitter, mean_jitter; 57 flair::core::Time last; 58 uint64_t cpt; 59 flair::core::Time period; 60 bool isRunning; 61 bool tobestopped; 62 bool is_suspended; 63 void PrintStats(void); 64 void ComputeJitter(flair::core::Time time); 68 65 #ifdef __XENO__ 69 70 static void main_rt(void *arg);66 RT_TASK task_rt; 67 static void main_rt(void *arg); 71 68 #else 72 73 static void* main_nrt(void *arg);74 69 pthread_t task_nrt; 70 static void *main_nrt(void *arg); 71 flair::core::Time next_time; 75 72 #endif 76 73 };
Note:
See TracChangeset
for help on using the changeset viewer.