Skip to content

Commit 164fcea

Browse files
Work on direction
1 parent 3e1002d commit 164fcea

File tree

5 files changed

+18
-27
lines changed

5 files changed

+18
-27
lines changed

include/network/activation.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,17 @@ class Activation : public Obj, public Element, public ModelProvider {
6868
int compareTo(Activation* act) const;
6969
bool equals(Activation* o) const;
7070
int hashCode() const;
71-
std::string toString() const override;
72-
std::string toKeyString() const override;
71+
std::string toString() const;
72+
std::string toKeyString() const;
7373

7474
protected:
7575
int id;
7676
Neuron* neuron;
7777
Document* doc;
7878
std::map<BSType, BindingSignal*> bindingSignals;
7979
Activation* parent;
80-
Timestamp created;
81-
Timestamp fired;
80+
long created;
81+
long fired;
8282
Fired* firedStep;
8383
std::map<int, Link*> outputLinks;
8484
};

include/network/direction.h

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,7 @@
11
#ifndef NETWORK_DIRECTION_H
22
#define NETWORK_DIRECTION_H
33

4-
#include "network/model.h"
5-
#include "network/activation.h"
6-
#include "network/link.h"
7-
#include "network/neuron.h"
8-
#include "network/synapse.h"
9-
#include "network/bs_type.h"
10-
#include "network/transition.h"
4+
// Use the Direction class from the fields folder
5+
#include "fields/direction.h"
116

12-
class Direction {
13-
public:
14-
virtual ~Direction() = default;
15-
virtual Direction* invert() = 0;
16-
virtual Neuron* getNeuron(Model* m, Synapse* s) = 0;
17-
virtual Activation* getActivation(Link* l) = 0;
18-
virtual int getOrder() = 0;
19-
virtual BSType* transition(BSType* s, Transition* t) = 0;
20-
virtual void write(DataOutput* out) = 0;
21-
22-
static Direction* read(DataInput* in);
23-
};
24-
25-
#endif // NETWORK_DIRECTION_H
7+
#endif // NETWORK_DIRECTION_H

include/network/fired.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class Fired : public Step {
1818
const Phase& getPhase() const override;
1919
Activation* getElement();
2020
Queue* getQueue() const override;
21-
std::string toString() const override;
21+
std::string toString() const;
2222
bool isQueued() const;
2323

2424
private:

include/network/model.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <map>
88
#include <string>
99
#include <vector>
10+
#include <mutex>
1011

1112
class Neuron;
1213
class 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+
3845
private:
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

src/network/model.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ bool Model::canBeSuspended(long lastUsed) const {
100100
if (tId == 0) {
101101
tId = lastProcessedDocument;
102102
}
103-
return lastUsed < tId - config.getNeuronProviderRetention();
103+
return lastUsed < tId - config->getNeuronProviderRetention();
104104
}
105105

106106
Neuron *Model::getNeuron(long id) {

0 commit comments

Comments
 (0)