10#ifndef __RTMessage_h__ 
   11#define __RTMessage_h__ included 
   17#ifndef __RTTimespec_h__ 
   18#include <RTTimespec.h> 
   37#if OTRTSDEBUG != DEBUG_NONE 
   48        const void        * const_data;
 
   51    unsigned char           priority;
 
   60#if RTMESSAGE_PAYLOAD_SIZE != 0 
   64        char                _data_area[ RTMESSAGE_PAYLOAD_SIZE ];
 
   65        RTAlignment         _alignment;
 
   69    void                    _internData( 
bool moveData );
 
   82    RTS_INLINE 
void         clear( 
void );
 
   93    RTS_INLINE 
int          isRTData( 
void ) 
const;
 
  110    RTS_INLINE 
void         setInvalid( 
void );
 
  115    RTS_INLINE 
int          isValid( 
void ) 
const;
 
  145    RTS_INLINE 
void       * 
getData( 
void ) 
const;
 
  161    RTS_INLINE 
void         internData( 
bool moveData = 
false );
 
  177    int                     sapId( 
void ) 
const;
 
  189    RTS_INLINE 
int          sapIndex( 
void ) 
const;
 
  232#include <RTMessage.inl> 
An instance of this class represents a capsule instance.
Definition: RTActor.h:44
A controller manages a group of capsule instances that all run in the same physical thread (i....
Definition: RTController.h:56
Provides a common interface to certain data type implementations (e.g.
Definition: RTDataObject.h:33
Represents a message used for communication between capsule instances.
Definition: RTMessage.h:33
void setSignal(int id)
Set the signal id of the message, i.e.
Definition: RTMessage.inl:131
int isRTData(void) const
Determines if the message carries a data object which is an RTDataObject.
Definition: RTMessage.inl:100
DeliverResult deliver(void)
Attempt to deliver the message to its specified receiver.
const char * getSignalName(void) const
Get the signal name of the message, i.e.
void setPriority(int prio)
Set the priority of the message.
Definition: RTMessage.inl:141
const RTObject_class * getType(void) const
Get the type of the data object of the message, if any.
Definition: RTMessage.inl:151
RTController * context(void) const
Return the controller of the message receiver.
Definition: RTActor.inl:140
void internData(bool moveData=false)
Intern the data object of the message.
Definition: RTMessage.inl:173
void resetDeferred(void)
Mark this message as not deferred.
Definition: RTMessage.inl:111
RTActor * receiver(void) const
Return the currently set receiver for the message.
Definition: RTMessage.inl:188
int defer(void) const
Defer the message by placing it in the defer queue.
void clear(void)
Destroy the data object stored in the message, and reset the message object to make it ready to be us...
Definition: RTMessage.inl:59
void setDeferred(void)
Mark this message as deferred.
Definition: RTMessage.inl:106
RTProtocol * sap(void) const
Return the capsule port on which this message was received.
Definition: RTMessage.inl:193
int getSignal(void) const
Get the signal id of the message, i.e.
Definition: RTMessage.inl:136
void setData(const void *data, const RTObject_class *type)
Set the data object of the message.
Definition: RTMessage.inl:161
void * getData(void) const
Get the data object carried by the message, if any.
Definition: RTMessage.inl:156
int sapIndex0(void) const
Return the index (0-based) of the replicated port on which this message was received.
Definition: RTMessage.inl:198
int sapId(void) const
Return the id of the capsule port on which this message was received.
Definition: RTMessage.inl:208
int isDeferred(void) const
Determines if this message has been deferred, i.e.
Definition: RTMessage.inl:116
int sapIndex(void) const
Return the index (1-based) of the replicated port on which this message was received.
Definition: RTMessage.inl:203
int getPriority(void) const
Get the priority of the message.
Definition: RTMessage.inl:146
int isValid(void) const
A message is considered valid as soon as its protocol event (i.e.
Definition: RTMessage.inl:121
void setDestination(RTActor *cap, RTProtocol *port, int index)
Set the destination (i.e.
Definition: RTMessage.inl:179
Represents a general capsule port typed by a protocol which determines the set of events that can be ...
Definition: RTProtocol.h:50
A type descriptor providing information about a type.
Definition: RTObject_class.h:64
A time value which can represent either an absolute or relative time.
Definition: RTTimespec.h:29
Encapsulates a data object and its type descriptor.
Definition: RTTypedValue.h:29