C++ TargetRTS
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
RTPeerController Class Reference

A controller that acts as an interface to a physical thread which runs a group of capsule instances in a multi-threaded RT application. More...

#include <RTPeerController.h>

Inheritance diagram for RTPeerController:
RTController RTJob RTAbortController RTCustomController RTTimerController

Public Member Functions

 RTPeerController (RTDebugger *, const char *name)
 
virtual void mainLoop (void) override
 
- Public Member Functions inherited from RTController
 RTController (RTDebugger *debug, const char *name)
 
Error canPlugIn (const RTActorClass *, const RTComponentDescriptor *)
 
Error getError (void) const
 Get the most recent error that occurred in the controller's thread.
 
const char * strerror (void) const
 Get an error message for the most recent error that occurred in the controller's thread.
 
void perror (const char *s="error")
 Print an error message to stderr.
 
void setError (Error error, Primitive primitive, const void *info, const void *detail)
 Set the most recent error for the controller's thread.
 
void trace (Primitive, const void *, const void *)
 
void breakPoint (RTActor *, RTEventInfo *)
 
void evtMsgQueue (void)
 
void getMessages (const RTDaemonInfo &daemonInfo)
 Report all incoming messages satisfying actorPath in daemonInfo.
 
virtual const char * name (void) const override
 Get the name of the controller, which is the name of its physical thread (as defined in the transformation configuration).
 
virtual void kill (void) override
 Kill this controller.
 
virtual void printStats (void) const
 Print various statistics to stdout about what has happened in the RT application (e.g.
 
void abort (void)
 Abort the application.
 
RTDebuggerdebugger (void)
 Get the debugger associated with this controller, if any.
 
void destroy (RTActor *actor, RTActor *owner)
 
int send (RTActor *receiver, int controlSignal, const void *data, const RTObject_class *type, int priority)
 
void receive (RTMessage *, RTController *sender)
 
int receiveMsgCopy (const RTMessage *, RTController *sender)
 
void peer_receive (RTMessage *)
 
void requeueMsg (RTMessage *, int front)
 
RTMessagenewMsg (void)
 
void freeMsg (RTMessage *)
 
RTTimerNodenewTimerNode (void)
 
void freeTimerNode (RTTimerNode *node)
 
RTMessagegetReplyBuffer (void)
 
RTMessagesetReplyBuffer (RTMessage *)
 
void restoreReplyBuffer (RTMessage *)
 
void countActorDestroy (void)
 
void countActorIncarnate (void)
 
void countMessageTransfer (RTMessage *)
 
void countPortDestroy (int)
 
void countPortIncarnate (int)
 
void countTimerCancel (void)
 
void countTimerExpire (void)
 
void countTimerStart (void)
 
- Public Member Functions inherited from RTJob
virtual const char * name (void) const =0
 
Phase phase (void) const
 
virtual void mainLoop (void)=0
 
virtual void kill (void)=0
 

Protected Member Functions

virtual void startup (void)
 
virtual void waitForEvents (void) override
 
virtual void shutdown (void)
 
- Protected Member Functions inherited from RTController
int dispatch (int priorityLimit)
 
void awaitResponse (void)
 
virtual void waitForEvents (void)=0
 
virtual void wakeup (void)
 
- Protected Member Functions inherited from RTJob
void enter (Phase)
 

Additional Inherited Members

- Public Types inherited from RTController
enum  Primitive {
  CommDefer , CommDeliver , CommInvoke , CommPurge ,
  CommRecall , CommRecallAll , CommReply , CommSend ,
  ExceptionRaise , FrameDeport , FrameDestroy , FrameImport ,
  FrameIncarnate , LayerBind , LayerRegisterSAP , LayerDeregisterSAP ,
  LayerRegisterSPP , LayerDeregisterSPP , LayerResize , LayerResizeSAP ,
  LayerResizeSPP , TimerCancel , TimerInform , SystemService
}
 
enum  Error {
  ok , alreadyDeferred , badActor , badClass ,
  badId , badIndex , badInterface , badOperation ,
  badRef , badSignal , badValue , deferInvoke ,
  dereg , imported , noConnect , noFreePorts ,
  noMem , noReply , notImported , notOptional ,
  notOwner , prio , protocolSignal , protocolType ,
  recursiveInvoke , refFull , reg , replRef ,
  smallInterface , tooManySAPs , xRtsInvoke
}
 
typedef Error rtsErrors
 
- Public Types inherited from RTJob
enum  Phase { created , running , finished }
 
- Protected Types inherited from RTController
enum  { OneDelivered , PermissionDenied , NoneToDeliver }
 
- Protected Attributes inherited from RTController
RTSyncObject * _sync
 
- Protected Attributes inherited from RTJob
RTMutex * _mutex
 

Detailed Description

A controller that acts as an interface to a physical thread which runs a group of capsule instances in a multi-threaded RT application.

This is the default controller used for implementing a physical thread in an RT application. It implements a main loop for the thread in which messages are dispatched to managed capsule instances.

Member Function Documentation

◆ mainLoop()

virtual void RTPeerController::mainLoop ( void  )
overridevirtual

Implements RTJob.

◆ waitForEvents()

virtual void RTPeerController::waitForEvents ( void  )
overrideprotectedvirtual

Implements RTController.


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