1 #if !defined(_PSYSPACE_H_) 4 #include "MemoryManager.h" 6 #include "xml_parser.h" 7 #include "DataMessage.h" 8 #include "Subscriptions.h" 13 typedef int8 (* CrankFunction)(PsyAPI* api);
41 bool removeSchedule(uint32
id);
47 std::map<uint32, TimeQueueSchedule*> schedules;
66 friend THREAD_RET THREAD_FUNCTION_CALL PsySpaceRun(THREAD_ARG arg);
67 friend THREAD_RET THREAD_FUNCTION_CALL PsySpacePoolRun(THREAD_ARG arg);
68 friend THREAD_RET THREAD_FUNCTION_CALL PsySpaceContinuousRun(THREAD_ARG arg);
73 PsySpace(
const char* name = NULL,
bool isAdHoc =
true, uint16 procID = 0,
bool isLocal =
false);
76 bool connect(uint16 systemID,
bool isMaster =
false,
const char* cmdline = NULL);
77 bool isConnected(uint32 timeoutMS = 5000);
79 bool start(uint16 threadCount = 5);
88 DataMessage* waitForSignal(
const PsyType& type, uint32 timeout, uint64 lastReceivedTime = 0);
91 bool queryReply(uint32
id, uint8 status,
DataMessage* result);
93 uint32 getComponentID(
const char* name);
99 PsyAPI* getCrankAPI(
const char* name);
100 bool registerCrankCallback(
const char* name, CrankFunction func);
102 bool addPsyProbeCustomView(uint32 compID,
const char* name,
const char* templateURL);
109 std::map<std::string, CrankFunction> internalCranks;
111 bool threadPoolDispatch();
112 bool runContinuousComponent();
113 bool startContinuousComponent(uint32 compID);
114 bool setThreadPoolSize(uint16 threadCount);
115 CrankFunction loadCrankFromLibrary(
const char* crankName,
const char* libraryFilename);
117 bool pullRemoteComponentData(uint32 compID, uint16 fromNodeID);
125 bool finishedShuttingDown;
126 uint64 currentInstID;
129 uint64 masterCreatedTime;
131 uint32 waitCounters[3];
132 uint32 procCounters[3];
134 uint32 threadPoolWaitLowerThreshold;
135 uint32 threadPoolWaitUpperThreshold;
136 uint32 threadPoolWaitIncrement;
137 uint64 lastThreadPoolCheck;
138 uint64 threadPoolCheckInterval;
145 std::map<uint16, CrankFunction> cranks;
146 std::map<uint32, uint16> compCrankIDs;
147 std::map<std::string, utils::Library*> libraries;
148 std::map<uint32, PsyAPI*> psyAPIs;
149 std::map<PsyType, SignalStruct*> signalList;
152 std::map<uint32, uint8> threadPool;
153 std::map<uint32, uint32> continuousComponentThreads;
156 THREAD_RET THREAD_FUNCTION_CALL PsySpaceRun(THREAD_ARG arg);
157 THREAD_RET THREAD_FUNCTION_CALL PsySpacePoolRun(THREAD_ARG arg);
158 THREAD_RET THREAD_FUNCTION_CALL PsySpaceContinuousRun(THREAD_ARG arg);
163 #include "PsyInternal.h" 165 #endif //_PSYSPACE_H_
Definition: PsySpace.h:63
Definition: ThreadManager.h:33
Definition: PsySpace.h:53
Definition: MemoryManager.h:214
Definition: PsySpace.h:17
Definition: PsySpace.h:35
Definition: DataMessage.h:95