INOS
|
#include <cinosbus.h>
Public Types | |
enum | EReservedCounts { eAlreadySignaled = 0 } |
Public Member Functions | |
SBusSleeper (uint32 auBusTicks, bool abClocked=false) | |
Static Public Member Functions | |
static void | AddSleeper (SBusSleeper &aNewSleeper, SBusSleeper *&apFirstSleeper) |
static void | RemoveSleeper (SBusSleeper &aNewSleeper, SBusSleeper *&apFirstSleeper) |
static void | HandleSleepers (SBusSleeper *&apFirstSleeper) |
Public Attributes | |
CINOSSync | m_pSync |
uint32 | m_uBusTicks |
bool | m_bClocked |
SBusSleeper * | m_pNext |
Static Public Attributes | |
static uint64 | s_uClockedTickCount |
Helper class used to implement the "bus sleep" function. It's used to let an (application) task sleep for a certain amount of bus ticks.
|
static |
Helper function to add aNewSleeper to the chained list of sleepers pointed to by apFirstSleeper.
|
static |
Helper function to handler all sleepers in the chained list of sleepers pointed to by apFirstSleeper. "Handled" means that it singals the sync object of every SBusSleeper which count is 1 and sets the remaining count to 'signaled' (= 0) so that it wont be signaled again. If it's bigger than 1, it simply decrements the remaining count.
|
static |
Helper function to remove aNewSleeper from the chained list of sleepers pointed to by apFirstSleeper.
bool SBusSleeper::m_bClocked |
Flag determining if the sleeper is of type "clocked".
SBusSleeper* SBusSleeper::m_pNext |
Pointer to the next bus sleeper, if any.
CINOSSync SBusSleeper::m_pSync |
The sync object on which the application task will be waiting and which will be signaled by the bus task at the right time.
uint32 SBusSleeper::m_uBusTicks |
The (remaining) amount of bus ticks until the sync object will be signaled.
|
static |
Reference counter for clocked bus sleepers.