@@ -16,7 +16,7 @@ using namespace std;
1616
1717class FactoryOp {
1818 map<string, Program> programs;
19- map<string, map<string, vector<Message< uint64_t , double >>> > messageBuffer;
19+ ProgramMessage< uint64_t , double > messageBuffer;
2020
2121 public:
2222 FactoryOp ();
@@ -54,8 +54,13 @@ class FactoryOp {
5454
5555 static Op_ptr<uint64_t , double > readOp (string const & json_string);
5656 static string writeOp (Op_ptr<uint64_t , double > const & op);
57+
5758 static Program createProgram (string const & json_string) { return Program (json_string); }
5859
60+ Bytes serialize (string const & programId);
61+
62+ string createProgram (string const & id, Bytes const & bytes);
63+
5964 string createProgram (string const & id, string const & json_program);
6065
6166 bool deleteProgram (string const & id) { return (programs.erase (id) == 1 ) ? true : false ; }
@@ -66,7 +71,7 @@ class FactoryOp {
6671 return true ;
6772 }
6873
69- map<string, map<string, vector<Message< uint64_t , double >>> > processMessageBuffer (const string& apId) {
74+ ProgramMessage< uint64_t , double > processMessageBuffer (const string& apId) {
7075 if (this ->programs .count (apId) == 0 ) throw runtime_error (" Program " + apId + " was not found" );
7176 if (this ->messageBuffer .count (apId) > 0 ) {
7277 if (!this ->messageBuffer .at (apId).empty ()) {
@@ -79,7 +84,7 @@ class FactoryOp {
7984 return {};
8085 }
8186
82- map<string, map<string, vector<Message< uint64_t , double >>> > processMessageBufferDebug (const string& apId) {
87+ ProgramMessage< uint64_t , double > processMessageBufferDebug (const string& apId) {
8388 if (this ->programs .count (apId) == 0 ) throw runtime_error (" Program " + apId + " was not found" );
8489 if (this ->messageBuffer .count (apId) > 0 ) {
8590 if (!this ->messageBuffer .at (apId).empty ()) {
@@ -107,15 +112,15 @@ class FactoryOp {
107112 return this ->programs .at (apId).getProgramOutputFilter ();
108113 }
109114
110- map<string, map<string, vector<Message< uint64_t , double >>>> processMessageMap (
111- string const & apId, const map<string, vector<Message< uint64_t , double >> >& messagesMap) {
115+ ProgramMessage< uint64_t , double > processMessageMap (string const & apId,
116+ const OperatorMessage< uint64_t , double >& messagesMap) {
112117 auto it = programs.find (apId);
113118 if (it == programs.end ()) return {};
114119 return it->second .receive (messagesMap);
115120 }
116121
117- map<string, map<string, vector<Message< uint64_t , double >>>> processMessageMapDebug (
118- string const & apId, const map<string, vector<Message< uint64_t , double >> >& messagesMap) {
122+ ProgramMessage< uint64_t , double > processMessageMapDebug (string const & apId,
123+ const OperatorMessage< uint64_t , double >& messagesMap) {
119124 auto it = programs.find (apId);
120125 if (it == programs.end ()) return {};
121126 return it->second .receiveDebug (messagesMap);
0 commit comments