77#include < map>
88#include < string>
99#include < vector>
10+ #include < mutex>
1011
1112class Neuron ;
1213class Document ;
@@ -19,9 +20,11 @@ class Model : public Queue {
1920 long createNeuronId ();
2021 void registerDocument (Document* doc);
2122 void deregisterDocument (Document* doc);
23+ long getLowestDocumentId ();
2224 void addToN (int l);
2325 long getN () const ;
2426 void setN (long n);
27+ long getTimeout () const ;
2528 bool canBeSuspended (long lastUsed) const ;
2629 Neuron* getNeuron (long id);
2730 void registerNeuron (Neuron* n);
@@ -35,6 +38,10 @@ class Model : public Queue {
3538 void readFields (std::istream& in, Model* m);
3639 std::string toString () const ;
3740
41+ TypeRegistry* getTypeRegistry ();
42+ std::vector<Neuron*> getActiveNeurons ();
43+ void registerTokenId (int tokenId, Neuron* in);
44+
3845private:
3946 TypeRegistry* typeRegistry;
4047 SuspensionCallback* suspensionCallback;
@@ -44,6 +51,8 @@ class Model : public Queue {
4451 std::map<long , Neuron*> activeNeurons;
4552 std::map<long , Document*> documents;
4653 long lastProcessedDocument;
54+ std::mutex documentMutex;
55+ std::mutex neuronMutex;
4756};
4857
4958#endif // NETWORK_MODEL_H
0 commit comments