AceSmartSoft API Documentation
Public Member Functions | List of all members
SmartACE::SIDhandler Class Reference

#include <smartSIDhandler.hh>

Inheritance diagram for SmartACE::SIDhandler:
SmartACE::Task

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)
 
- Public Member Functions inherited from SmartACE::Task
 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

- Protected Member Functions inherited from SmartACE::Task
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)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SIDhandler()

SmartACE::SIDhandler::SIDhandler ( Smart::IComponent *  component)

@ internal default constuctor

Member Function Documentation

◆ enqueue()

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).

◆ sign_off()

void SmartACE::SIDhandler::sign_off ( void *  ptr)

see thesis from Schlegel on page 195!

◆ sign_on()

void SmartACE::SIDhandler::sign_on ( void *  ptr)

see thesis from Schlegel on page 195!

◆ stop_mqueue()

int SmartACE::SIDhandler::stop_mqueue ( void  )

The documentation for this class was generated from the following file: