C++ TargetRTS
Loading...
Searching...
No Matches
RTRelayPort.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 __RTRelayPort_h__
11#define __RTRelayPort_h__ included
12
13#ifdef PRAGMA
14#pragma interface
15#endif
16
17#ifndef __RTConfig_h__
18#include <RTConfig.h>
19#endif
20
21class RTActor;
22class RTActorRef;
23class RTController;
24struct RTBindingEnd;
25
27{
28public:
29 RTS_INLINE RTRelayPort( void );
30 ~RTRelayPort( void );
31
32protected:
33 friend class RTActor;
34 friend class RTActorRef;
35
36 RTActorRef ** _importers;
37
38 void init( int indirectUse );
39
40 int directUse( const RTActorRef * home, int id ) const;
41
42 int reserve( const RTActorRef * home,
43 int id,
44 int count,
45 int size,
46 RTActorRef * importer );
47
48 int followIn( RTBindingEnd & end,
49 RTActor * owner,
50 int id,
51 int index,
52 int size,
53 RTActorRef * importer );
54
55 int followOut( RTBindingEnd & end,
56 RTActor * owner,
57 int id,
58 int index,
59 int size );
60
61 void unreserve( RTActor * owner,
62 int id,
63 int size,
64 RTActorRef * importer ,RTController * initiator);
65
66private:
67 // unavailable methods
68 RTRelayPort & operator=( const RTRelayPort & );
69 RTRelayPort( const RTRelayPort & );
70};
71
72#if RTS_INLINES
73#include <RTRelayPort.inl>
74#endif
75
76#endif // __RTRelayPort_h__
An instance of this class represents a capsule instance.
Definition: RTActor.h:44
Represents a capsule part.
Definition: RTActorRef.h:39
A controller manages a group of capsule instances that all run in the same physical thread (i....
Definition: RTController.h:54
Definition: RTRelayPort.h:27
Definition: RTBindingEnd.h:24