AceSmartSoft API Documentation
|
#include <smartSIDhandler.hh>
Public Member Functions | |
SIDhandler (Smart::IComponent *component) | |
@ internal default constuctor More... | |
void | sign_on (void *ptr) |
void | sign_off (void *ptr) |
int | enqueue (void *ptr, void(*internalServInitDisc)(void *, int), int cid) |
int | stop_mqueue (void) |
![]() | |
Task (Smart::IComponent *component=0) | |
Constructor. More... | |
virtual | ~Task () |
Destructor. More... | |
virtual int | start () |
Creates and starts a new thread (if not yet started) More... | |
virtual int | start (const ACE_Sched_Params &sched_params, const int &cpuAffinity=-1) |
control method to start the internal thread using given scheduling parameters More... | |
virtual int | stop (const bool wait_till_stopped=true) |
Closes currently active thread (if it was started before) More... | |
Additional Inherited Members | |
![]() | |
virtual bool | test_canceled () |
Tests whether the thread has been signaled to stop. More... | |
virtual void | sleep_for (const Smart::Duration &rel_time) |
Blocks execution of the calling thread during the span of time specified by rel_time. More... | |
virtual int | svc (void) |
implements ACE_Task<ACE_MT_SYNCH> More... | |
int | setCpuAffinity (const int &cpuCore) |
int | setSchedParams (const ACE_Sched_Params &sched_params) |
Class SIDhandler(ServerInitiatedDisconnect-Handler)
This class is used for handling various ServerIniated disconnect requests. This is necessary, because this requests are blocking (they wait for answer-disconnect message). The problem is, that to get the answer - services should be in unblocked state. To get this problem solved, an own thread for all SID request is presented in Component. So all requests from all Ports are handled sequentially in SIDhandler class.
SmartACE::SIDhandler::SIDhandler | ( | Smart::IComponent * | component | ) |
@ internal default constuctor
int SmartACE::SIDhandler::enqueue | ( | void * | ptr, |
void(*)(void *, int) | internalServInitDisc, | ||
int | cid | ||
) |
With that function one can register a new SID request. This function assembles the appropriate message and enques it on the internal message queue, whitch is than handled by svc() function (see above).
void SmartACE::SIDhandler::sign_off | ( | void * | ptr | ) |
see thesis from Schlegel on page 195!
void SmartACE::SIDhandler::sign_on | ( | void * | ptr | ) |
see thesis from Schlegel on page 195!
int SmartACE::SIDhandler::stop_mqueue | ( | void | ) |