pinokiod 3.8.86 → 3.8.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/kernel/peer.js +43 -3
  2. package/package.json +1 -1
package/kernel/peer.js CHANGED
@@ -39,6 +39,40 @@ class PeerDiscovery {
39
39
  setInterval(() => {
40
40
  console.log("send message to peers")
41
41
  this.socket.send(this.message, 0, this.message.length, this.port, '255.255.255.255');
42
+
43
+ // if peer exists but info doesn't exist, refresh
44
+ for(let peer of this.peers) {
45
+ let refresh_needed = false;
46
+ let refresh_code;
47
+ if (this.info[peer]) {
48
+ if (this.info[peer].router && Object.keys(this.info[peer].router).length > 0) {
49
+ // router initialized
50
+ refresh_needed = false;
51
+ } else {
52
+ // router not initialized. try again
53
+ refresh_needed = true;
54
+ refresh_code = 1
55
+ }
56
+
57
+ if (this.info[peer].proc && this.info[peer].proc.length > 0) {
58
+ // router initialized
59
+ refresh_needed = false;
60
+ } else {
61
+ // router not initialized. try again
62
+ refresh_needed = true;
63
+ refresh_code = 2
64
+ }
65
+
66
+ } else {
67
+ // try again
68
+ refresh_needed = true;
69
+ refresh_code = 3
70
+ }
71
+ if (refresh_needed) {
72
+ console.log("refresh needed", refresh_code)
73
+ this.refresh([peer])
74
+ }
75
+ }
42
76
  }, this.interval);
43
77
  });
44
78
  }
@@ -71,9 +105,15 @@ class PeerDiscovery {
71
105
  return res
72
106
  }
73
107
  // refresh peer info
74
- async refresh() {
75
- this.info = {}
76
- let peer_info = await Promise.all(Array.from(this.peers).map((host) => {
108
+ async refresh(peers) {
109
+ let refresh_peers
110
+ if (peers) {
111
+ refresh_peers = peers
112
+ } else {
113
+ this.info = {}
114
+ refresh_peers = Array.from(this.peers)
115
+ }
116
+ let peer_info = await Promise.all(refresh_peers.map((host) => {
77
117
  return this._refresh(host)
78
118
  }))
79
119
  console.log({ peer_info })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinokiod",
3
- "version": "3.8.86",
3
+ "version": "3.8.90",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {