C++ TargetRTS
Loading...
Searching...
No Matches
RTSymmetricSignal.h
1/*
2 * Licensed Materials - Property of HCL and/or IBM
3 * Copyright HCL Technologies Ltd. 2016, 2021. All Rights Reserved.
4 * Copyright IBM Corporation 1999, 2016. All Rights Reserved.
5 *
6 * U.S. Government Users Restricted Rights - Use, duplication or
7 * disclosure restricted by GSA ADP Schedule.
8 */
9
10#ifndef __RTSymmetricSignal_h__
11#define __RTSymmetricSignal_h__ included
12
13#ifdef PRAGMA
14#pragma interface
15#endif
16
17#ifndef __RTPriority_h__
18#include <RTPriority.h>
19#endif
20
21#ifndef __RTProtocol_h__
22#include <RTProtocol.h>
23#endif
24
25// It is common to make temporaries of this struct.
26//lint -esym(1901,RTSymmetricSignal)
27
32{
33 // general application use
34
40 RTS_INLINE int purge ( void );
41
48 RTS_INLINE int purgeAt ( int index );
49
58 RTS_INLINE int recall ( int front = 0 );
59
69 RTS_INLINE int recallAt ( int index, int front = 0 );
70
79 RTS_INLINE int recallAll ( int front = 0 );
80
90 RTS_INLINE int recallAllAt( int index, int front = 0 );
91
102 RTS_INLINE int invoke ( RTMessage * replyBuffers );
103
116 RTS_INLINE int invokeAt( int index, RTMessage * replyBuffer );
117
124 RTS_INLINE int invoke ();
125
133 RTS_INLINE int invokeAt( int index);
134
140 RTS_INLINE int reply ( void );
141
149 RTS_INLINE int send ( int priority = General );
150
160 RTS_INLINE int sendAt ( int index, int priority = General );
161
162 // for use by run-time services library only
163 RTS_INLINE RTSymmetricSignal( RTProtocol *, int signal_in, int signal_out );
164
167
170
173}; //lint !e1712
174
175#if RTS_INLINES
176#include <RTSymmetricSignal.inl>
177#endif
178
179#endif // __RTSymmetricSignal_h__
Represents a message used for communication between capsule instances.
Definition: RTMessage.h:33
Represents a general capsule port typed by a protocol which determines the set of events that can be ...
Definition: RTProtocol.h:50
Provides the combined API of both RTOutSignal and RTInSignal for symmetric protocol events defined as...
Definition: RTSymmetricSignal.h:32
int recallAll(int front=0)
Recall one or many messages from the defer queue and insert them in the controller's message queue (e...
Definition: RTSymmetricSignal.inl:56
int purge(void)
Remove from the defer queue all messages that match the receiver port and the signal id of the protoc...
Definition: RTSymmetricSignal.inl:36
int reply(void)
Make a reply to respond to an invoke.
Definition: RTSymmetricSignal.inl:92
int purgeAt(int index)
Remove from the defer queue all messages that match the receiver port and the signal id of the protoc...
Definition: RTSymmetricSignal.inl:41
int recallAt(int index, int front=0)
Recall a message from the defer queue and insert it in the controller's message queue (either before ...
Definition: RTSymmetricSignal.inl:51
int sendAt(int index, int priority=General)
Send a message of the specified protocol event and on the specified port (optionally passing a specif...
Definition: RTSymmetricSignal.inl:102
int _in_signal
The signal id of the incoming protocol event for the received message.
Definition: RTSymmetricSignal.h:169
RTProtocol * _port
The port to which the message should be sent.
Definition: RTSymmetricSignal.h:166
int invokeAt(int index, RTMessage *replyBuffer)
Invoke a message of the specified protocol event and on the specified port (optionally passing a spec...
Definition: RTSymmetricSignal.inl:72
int recallAllAt(int index, int front=0)
Recall one or many messages from the defer queue and insert them in the controller's message queue (e...
Definition: RTSymmetricSignal.inl:61
int recall(int front=0)
Recall a message from the defer queue and insert it in the controller's message queue (either before ...
Definition: RTSymmetricSignal.inl:46
int send(int priority=General)
Send a message of the specified protocol event and on the specified port (optionally passing a specif...
Definition: RTSymmetricSignal.inl:97
int invoke()
Invoke a message of the specified protocol event and on the specified port (optionally passing a spec...
Definition: RTSymmetricSignal.inl:78
int _out_signal
The signal id of the outgoing protocol event for the message to send.
Definition: RTSymmetricSignal.h:172