@activeledger/activenetwork 2.15.6 → 4.3.3

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 (79) hide show
  1. package/es/network/cpus.d.ts +1 -0
  2. package/es/network/cpus.d.ts.map +1 -1
  3. package/es/network/cpus.js +26 -15
  4. package/es/network/cpus.js.map +1 -1
  5. package/es/network/endpoints.d.ts +7 -3
  6. package/es/network/endpoints.d.ts.map +1 -1
  7. package/es/network/endpoints.js +685 -172
  8. package/es/network/endpoints.js.map +1 -1
  9. package/es/network/home.d.ts.map +1 -1
  10. package/es/network/home.js +41 -19
  11. package/es/network/home.js.map +1 -1
  12. package/es/network/host.d.ts +15 -7
  13. package/es/network/host.d.ts.map +1 -1
  14. package/es/network/host.js +631 -240
  15. package/es/network/host.js.map +1 -1
  16. package/es/network/locker.d.ts +10 -5
  17. package/es/network/locker.d.ts.map +1 -1
  18. package/es/network/locker.js +50 -17
  19. package/es/network/locker.js.map +1 -1
  20. package/es/network/maintain.d.ts.map +1 -1
  21. package/es/network/maintain.js +42 -42
  22. package/es/network/maintain.js.map +1 -1
  23. package/es/network/neighbour.d.ts +8 -4
  24. package/es/network/neighbour.d.ts.map +1 -1
  25. package/es/network/neighbour.js +82 -18
  26. package/es/network/neighbour.js.map +1 -1
  27. package/es/network/neighbourhood.d.ts +1 -1
  28. package/es/network/neighbourhood.d.ts.map +1 -1
  29. package/es/network/neighbourhood.js +39 -42
  30. package/es/network/neighbourhood.js.map +1 -1
  31. package/es/network/p2pClient.d.ts +20 -0
  32. package/es/network/p2pClient.d.ts.map +1 -0
  33. package/es/network/p2pClient.js +84 -0
  34. package/es/network/p2pClient.js.map +1 -0
  35. package/es/network/process.js +99 -65
  36. package/es/network/process.js.map +1 -1
  37. package/es/network/utils.d.ts.map +1 -1
  38. package/es/network/utils.js +17 -21
  39. package/es/network/utils.js.map +1 -1
  40. package/lib/network/cpus.d.ts +1 -0
  41. package/lib/network/cpus.d.ts.map +1 -1
  42. package/lib/network/cpus.js +26 -15
  43. package/lib/network/cpus.js.map +1 -1
  44. package/lib/network/endpoints.d.ts +7 -3
  45. package/lib/network/endpoints.d.ts.map +1 -1
  46. package/lib/network/endpoints.js +684 -171
  47. package/lib/network/endpoints.js.map +1 -1
  48. package/lib/network/home.d.ts.map +1 -1
  49. package/lib/network/home.js +41 -19
  50. package/lib/network/home.js.map +1 -1
  51. package/lib/network/host.d.ts +15 -7
  52. package/lib/network/host.d.ts.map +1 -1
  53. package/lib/network/host.js +630 -239
  54. package/lib/network/host.js.map +1 -1
  55. package/lib/network/locker.d.ts +10 -5
  56. package/lib/network/locker.d.ts.map +1 -1
  57. package/lib/network/locker.js +50 -17
  58. package/lib/network/locker.js.map +1 -1
  59. package/lib/network/maintain.d.ts.map +1 -1
  60. package/lib/network/maintain.js +42 -42
  61. package/lib/network/maintain.js.map +1 -1
  62. package/lib/network/neighbour.d.ts +8 -4
  63. package/lib/network/neighbour.d.ts.map +1 -1
  64. package/lib/network/neighbour.js +82 -18
  65. package/lib/network/neighbour.js.map +1 -1
  66. package/lib/network/neighbourhood.d.ts +1 -1
  67. package/lib/network/neighbourhood.d.ts.map +1 -1
  68. package/lib/network/neighbourhood.js +39 -42
  69. package/lib/network/neighbourhood.js.map +1 -1
  70. package/lib/network/p2pClient.d.ts +20 -0
  71. package/lib/network/p2pClient.d.ts.map +1 -0
  72. package/lib/network/p2pClient.js +88 -0
  73. package/lib/network/p2pClient.js.map +1 -0
  74. package/lib/network/process.js +98 -64
  75. package/lib/network/process.js.map +1 -1
  76. package/lib/network/utils.d.ts.map +1 -1
  77. package/lib/network/utils.js +17 -21
  78. package/lib/network/utils.js.map +1 -1
  79. package/package.json +10 -8
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/network/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/network/host.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,18 @@
1
1
  export declare class Locker {
2
2
  private static cell;
3
3
  private static timer;
4
- static hold(stream: string): boolean;
5
- static hold(stream: string[]): boolean;
6
- static release(stream: string): boolean;
7
- static release(stream: string[]): boolean;
4
+ static has(stream: string): boolean;
5
+ static is(stream: string, umid: string): boolean;
6
+ static hold(stream: string, umid: string): boolean;
7
+ static hold(stream: string[], umid: string): boolean;
8
+ static release(stream: string, umid: string): boolean;
9
+ static release(stream: string[], umid: string): boolean;
8
10
  static checker(): void;
9
11
  static getLocks(): {
10
- [stream: string]: number | boolean;
12
+ [stream: string]: {
13
+ umid: string;
14
+ time: number;
15
+ };
11
16
  };
12
17
  static checkLocks(releaseTime?: number): void;
13
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"locker.d.ts","sourceRoot":"","sources":["../../src/network/locker.ts"],"names":[],"mappings":"AAgCA,qBAAa,MAAM;IAajB,OAAO,CAAC,MAAM,CAAC,IAAI,CAA8C;IASjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAwB;WAS9B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;WAC7B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO;WAqC/B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;WAChC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO;WAmBlC,OAAO;WAiBP,QAAQ,IAAI;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE;WAUlD,UAAU,CAAC,WAAW,GAAC,MAA0B;CAYhE"}
1
+ {"version":3,"file":"locker.d.ts","sourceRoot":"","sources":["../../src/network/locker.ts"],"names":[],"mappings":"AAkCA,qBAAa,MAAM;IAgBjB,OAAO,CAAC,MAAM,CAAC,IAAI,CAML;IASd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAwB;WAS9B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;WAY5B,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;WAezC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;WAC3C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;WA8D7C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;WAC9C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;WA0BhD,OAAO;WAoBP,QAAQ,IAAI;QACxB,CAAC,MAAM,EAAE,MAAM,GAAG;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH;WAea,UAAU,CAAC,WAAW,GAAE,MAA0B;CAgBjE"}
@@ -1,41 +1,74 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Locker = void 0;
4
- const CHECKER_TIMER = 3 * 1000 * 60;
5
- const AUTO_RELEASE_TIME = 5 * 1000 * 60;
4
+ const activelogger_1 = require("@activeledger/activelogger");
5
+ const CHECKER_TIMER = 1 * 1000 * 60;
6
+ const AUTO_RELEASE_TIME = 3 * 1000 * 60;
6
7
  class Locker {
7
- static hold(stream) {
8
+ static cell = new Map();
9
+ static timer;
10
+ static has(stream) {
11
+ return this.cell.has(stream);
12
+ }
13
+ static is(stream, umid) {
14
+ if (this.has(stream)) {
15
+ return this.cell.get(stream).umid === umid;
16
+ }
17
+ return false;
18
+ }
19
+ static hold(stream, umid) {
8
20
  if (Array.isArray(stream)) {
9
21
  let i = stream.length;
10
22
  let success = true;
23
+ const time = Date.now();
11
24
  while (i--) {
12
- if (!Locker.hold(stream[i])) {
13
- success = false;
14
- break;
25
+ if (stream[i].length > 60) {
26
+ if (!this.cell.has(stream[i])) {
27
+ this.cell.set(stream[i], {
28
+ umid,
29
+ time,
30
+ });
31
+ }
32
+ else {
33
+ activelogger_1.ActiveLogger.info(`RR - ${umid} - LD - ${this.cell.get(stream[i]).umid}`);
34
+ success = false;
35
+ break;
36
+ }
15
37
  }
16
38
  }
39
+ if (!success) {
40
+ Locker.release(stream, umid);
41
+ }
17
42
  return success;
18
43
  }
19
44
  else {
20
45
  if (stream.length < 60) {
21
46
  return true;
22
47
  }
23
- if (!this.cell[stream]) {
24
- this.cell[stream] = Date.now();
48
+ if (!this.cell.has(stream)) {
49
+ this.cell.set(stream, {
50
+ umid,
51
+ time: Date.now(),
52
+ });
25
53
  return true;
26
54
  }
55
+ activelogger_1.ActiveLogger.info(`Lock busy for ${stream}. Held by ${this.cell.get(stream).umid}, requested by ${umid}.`);
27
56
  return false;
28
57
  }
29
58
  }
30
- static release(stream) {
59
+ static release(stream, umid) {
31
60
  if (Array.isArray(stream)) {
32
61
  let i = stream.length;
33
62
  while (i--) {
34
- Locker.release(stream[i]);
63
+ if (this.cell.get(stream[i])?.umid === umid) {
64
+ this.cell.delete(stream[i]);
65
+ }
35
66
  }
36
67
  }
37
68
  else {
38
- delete this.cell[stream];
69
+ if (this.cell.get(stream)?.umid === umid) {
70
+ this.cell.delete(stream);
71
+ }
39
72
  }
40
73
  return true;
41
74
  }
@@ -49,19 +82,19 @@ class Locker {
49
82
  }
50
83
  }
51
84
  static getLocks() {
52
- return this.cell;
85
+ return Object.fromEntries(this.cell);
53
86
  }
54
87
  static checkLocks(releaseTime = AUTO_RELEASE_TIME) {
55
- const locks = Object.keys(this.cell);
88
+ const locks = Array.from(this.cell.entries());
56
89
  for (let i = locks.length; i--;) {
57
- if (this.cell[locks[i]] &&
58
- Date.now() - this.cell[locks[i]] >= releaseTime) {
59
- Locker.release(locks[i]);
90
+ const [stream, entry] = locks[i];
91
+ if (this.cell.has(stream) && Date.now() - entry.time >= releaseTime) {
92
+ activelogger_1.ActiveLogger.warn(`Auto-releasing stuck lock for stream ${stream} held by ${entry.umid}`);
93
+ Locker.release(stream, entry.umid);
60
94
  }
61
95
  }
62
96
  }
63
97
  }
64
98
  exports.Locker = Locker;
65
- Locker.cell = {};
66
99
  Locker.checker();
67
100
  //# sourceMappingURL=locker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"locker.js","sourceRoot":"","sources":["../../src/network/locker.ts"],"names":[],"mappings":";;;AAuBA,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;AACpC,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;AAQxC,MAAa,MAAM;IAiCV,MAAM,CAAC,IAAI,CAAC,MAAyB;QAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAEzB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YACtB,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,OAAO,CAAC,EAAE,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oBAE3B,OAAO,GAAG,KAAK,CAAC;oBAChB,MAAM;iBACP;aACF;YAGD,OAAO,OAAO,CAAC;SAChB;aAAM;YAEL,IAAG,MAAM,CAAC,MAAM,GAAG,EAAE,EAAC;gBACpB,OAAO,IAAI,CAAC;aACb;YAGD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAUM,MAAM,CAAC,OAAO,CAAC,MAAyB;QAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YACtB,OAAO,CAAC,EAAE,EAAE;gBACV,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B;SACF;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SACzB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAQM,MAAM,CAAC,OAAO;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACjB,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAElB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,CAAC,EAAE,aAAa,CAAC,CAAC;SACnB;IACH,CAAC;IAQM,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAQM,MAAM,CAAC,UAAU,CAAC,cAAqB,iBAAiB;QAE7D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAI;YAChC,IACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,GAAG,EAAE,GAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAY,IAAI,WAAW,EAC3D;gBACA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1B;SACF;IACH,CAAC;;AA/HH,wBAgIC;AAnHgB,WAAI,GAA2C,EAAE,CAAC;AAsHnE,MAAM,CAAC,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"locker.js","sourceRoot":"","sources":["../../src/network/locker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"maintain.d.ts","sourceRoot":"","sources":["../../src/network/maintain.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAW9B,qBAAa,QAAQ;IAQnB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAc;IAQ3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAQzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAazC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CACqB;IAErD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAO;WAOZ,IAAI,CAAC,IAAI,EAAE,IAAI;WAiBf,WAAW,CAAC,IAAI,GAAE,OAAe;IAiB/C,OAAO,CAAC,MAAM,CAAC,WAAW;IAa1B,OAAO,CAAC,MAAM,CAAC,kBAAkB;WA+BnB,mBAAmB,IAAI,IAAI;mBA8BpB,kBAAkB;IAwDvC,OAAO,CAAC,MAAM,CAAC,OAAO;CAiFvB"}
1
+ {"version":3,"file":"maintain.d.ts","sourceRoot":"","sources":["../../src/network/maintain.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAW9B,qBAAa,QAAQ;IAQnB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAc;IAQ3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAQzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAazC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CACqB;IAErD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAO;WAOZ,IAAI,CAAC,IAAI,EAAE,IAAI;WAiBf,WAAW,CAAC,IAAI,GAAE,OAAe;IAmB/C,OAAO,CAAC,MAAM,CAAC,WAAW;IAa1B,OAAO,CAAC,MAAM,CAAC,kBAAkB;WA+BnB,mBAAmB,IAAI,IAAI;mBA8BpB,kBAAkB;IAyDvC,OAAO,CAAC,MAAM,CAAC,OAAO;CAmEvB"}
@@ -5,16 +5,24 @@ const activelogger_1 = require("@activeledger/activelogger");
5
5
  const home_1 = require("./home");
6
6
  const neighbourhood_1 = require("./neighbourhood");
7
7
  class Maintain {
8
+ static neighbourOrder;
9
+ static checking = false;
10
+ static rebasing = false;
11
+ static interval = (20 + Math.floor(Math.random() * 15) + -10) * 1000;
12
+ static home;
8
13
  static init(home) {
9
14
  Maintain.home = home;
10
15
  Maintain.createNetworkOrder();
16
+ Maintain.healthTimer(true);
11
17
  }
12
18
  static healthTimer(boot = false) {
13
19
  setTimeout(() => {
14
20
  Maintain.healthTimer();
15
21
  }, Maintain.getInterval());
16
22
  if (!boot) {
17
- activelogger_1.ActiveLogger.debug("Checking Neighbourhood");
23
+ if (Maintain.home && Maintain.home.getStatus() !== neighbourhood_1.NeighbourStatus.Stable) {
24
+ activelogger_1.ActiveLogger.debug("Checking Neighbourhood");
25
+ }
18
26
  Maintain.checkNeighbourhood();
19
27
  }
20
28
  }
@@ -43,10 +51,10 @@ class Maintain {
43
51
  });
44
52
  }
45
53
  static rebaseNeighbourhood() {
46
- activelogger_1.ActiveLogger.debug("Rebase Request");
47
54
  if ((!Maintain.rebasing &&
48
55
  Maintain.home.getStatus() == neighbourhood_1.NeighbourStatus.Recognised) ||
49
56
  Maintain.home.getStatus() == neighbourhood_1.NeighbourStatus.Unrecognised) {
57
+ activelogger_1.ActiveLogger.debug("Rebase Request");
50
58
  Maintain.rebasing = true;
51
59
  if (Maintain.checking) {
52
60
  activelogger_1.ActiveLogger.debug("Waiting to Rebase");
@@ -78,7 +86,6 @@ class Maintain {
78
86
  })
79
87
  .catch(() => {
80
88
  if (currentRef == home_1.Home.reference) {
81
- neighbour.isHome = false;
82
89
  }
83
90
  resolve();
84
91
  });
@@ -93,54 +100,47 @@ class Maintain {
93
100
  }
94
101
  }
95
102
  static pairing() {
96
- let i = Maintain.neighbourOrder.length;
97
- let whereHomeIs;
98
- let isRight;
99
- let isleft;
100
- while (i--) {
101
- if (Maintain.home.reference == Maintain.neighbourOrder[i].reference) {
102
- whereHomeIs = i;
103
- break;
104
- }
105
- }
106
- if (whereHomeIs == undefined) {
103
+ const order = Maintain.neighbourOrder;
104
+ const orderLength = order.length;
105
+ const homeIndex = order.findIndex((n) => n.reference === Maintain.home.reference);
106
+ if (homeIndex === -1) {
107
107
  Maintain.checking = false;
108
108
  Maintain.rebasing = false;
109
109
  return;
110
110
  }
111
- i = whereHomeIs;
112
- while (!isRight) {
113
- if (++i >= Maintain.neighbourOrder.length)
114
- i = 0;
115
- if (Maintain.neighbourOrder[i] &&
116
- !Maintain.neighbourOrder[i].graceStop &&
117
- Maintain.neighbourOrder[i].isHome)
118
- isRight = Maintain.neighbourOrder[i];
119
- if (!Maintain.neighbourOrder[i])
120
- return;
121
- }
122
- i = whereHomeIs;
123
- while (!isleft) {
124
- if (--i == -1)
125
- i = Maintain.neighbourOrder.length - 1;
126
- if (Maintain.neighbourOrder[i] &&
127
- !Maintain.neighbourOrder[i].graceStop &&
128
- Maintain.neighbourOrder[i].isHome)
129
- isleft = Maintain.neighbourOrder[i];
130
- if (!Maintain.neighbourOrder[i])
131
- return;
111
+ let isRight;
112
+ let isLeft;
113
+ for (let i = 1; i < orderLength; i++) {
114
+ if (!isRight) {
115
+ const rightIndex = (homeIndex + i) % orderLength;
116
+ const potentialRight = order[rightIndex];
117
+ if (potentialRight && !potentialRight.graceStop && potentialRight.isHome) {
118
+ isRight = potentialRight;
119
+ }
120
+ }
121
+ if (!isLeft) {
122
+ const leftIndex = (homeIndex - i + orderLength) % orderLength;
123
+ const potentialLeft = order[leftIndex];
124
+ if (potentialLeft && !potentialLeft.graceStop && potentialLeft.isHome) {
125
+ isLeft = potentialLeft;
126
+ }
127
+ }
128
+ if (isRight && isLeft)
129
+ break;
132
130
  }
133
- if (home_1.Home.left.reference != isleft.reference ||
134
- home_1.Home.right.reference != isRight.reference) {
135
- activelogger_1.ActiveLogger.debug({ left: isleft.reference, right: isRight.reference }, "New Neighbour Update");
136
- Maintain.home.setNeighbours(isleft.reference, isRight.reference);
131
+ if ((isLeft && home_1.Home.left.reference != isLeft.reference) ||
132
+ home_1.Home.right.reference != isRight?.reference) {
133
+ activelogger_1.ActiveLogger.debug({ left: isLeft?.reference, right: isRight?.reference }, "New Neighbour Update");
134
+ try {
135
+ Maintain.home.setNeighbours(isLeft?.reference || null, isRight?.reference || null);
136
+ }
137
+ catch {
138
+ activelogger_1.ActiveLogger.fatal("Problem setting Right, Try again next loop");
139
+ }
137
140
  }
138
141
  Maintain.checking = false;
139
142
  Maintain.rebasing = false;
140
143
  }
141
144
  }
142
145
  exports.Maintain = Maintain;
143
- Maintain.checking = false;
144
- Maintain.rebasing = false;
145
- Maintain.interval = (20 + Math.floor(Math.random() * 15) + -10) * 1000;
146
146
  //# sourceMappingURL=maintain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"maintain.js","sourceRoot":"","sources":["../../src/network/maintain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maintain.js","sourceRoot":"","sources":["../../src/network/maintain.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { ActiveCrypto } from "@activeledger/activecrypto";
2
2
  import { ActiveDefinitions } from "@activeledger/activedefinitions";
3
+ import { P2PClient } from "./p2pClient";
3
4
  export declare class Neighbour implements ActiveDefinitions.INeighbourBase {
4
- protected host: string;
5
- protected port: number;
5
+ host: string;
6
+ port: number;
6
7
  isHome: boolean;
7
- private identity?;
8
+ identity?: ActiveCrypto.KeyPair | undefined;
9
+ p2pClient: P2PClient;
8
10
  reference: string;
9
11
  graceStop: boolean;
10
12
  constructor(host: string, port: number, isHome?: boolean, identity?: ActiveCrypto.KeyPair | undefined);
@@ -13,7 +15,9 @@ export declare class Neighbour implements ActiveDefinitions.INeighbourBase {
13
15
  port: number;
14
16
  };
15
17
  verifySignature(signature: string, data: string): boolean;
16
- knock(endpoint: string, params?: any, external?: boolean, resend?: number): Promise<any>;
18
+ private bundle;
19
+ private nextSend;
20
+ knock(endpoint: string, params?: any, external?: boolean, resend?: number, bundle?: boolean): Promise<any>;
17
21
  encryptKnock(data: any, encrypted?: boolean): any;
18
22
  }
19
23
  //# sourceMappingURL=neighbour.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"neighbour.d.ts","sourceRoot":"","sources":["../../src/network/neighbour.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAUpE,qBAAa,SAAU,YAAW,iBAAiB,CAAC,cAAc;IAsB9D,SAAS,CAAC,IAAI,EAAE,MAAM;IACtB,SAAS,CAAC,IAAI,EAAE,MAAM;IACf,MAAM,EAAE,OAAO;IACtB,OAAO,CAAC,QAAQ,CAAC;IAlBZ,SAAS,EAAE,MAAM,CAAC;IAOlB,SAAS,EAAE,OAAO,CAAS;gBAQtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACf,MAAM,GAAE,OAAe,EACtB,QAAQ,CAAC,kCAAsB;IAqBlC,UAAU,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAc5C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAiBzD,KAAK,CACV,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,GAAG,EACZ,QAAQ,CAAC,EAAE,OAAO,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC;IAmHR,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAE,OAAe,GAAG,GAAG;CAahE"}
1
+ {"version":3,"file":"neighbour.d.ts","sourceRoot":"","sources":["../../src/network/neighbour.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC,qBAAa,SAAU,YAAW,iBAAiB,CAAC,cAAc;IA6BvD,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,OAAO;IACf,QAAQ,CAAC;IA1BX,SAAS,EAAE,SAAS,CAAC;IAQrB,SAAS,EAAE,MAAM,CAAC;IAOlB,SAAS,EAAE,OAAO,CAAS;gBAQzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,OAAe,EACvB,QAAQ,CAAC,kCAAsB;IA0BjC,UAAU,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAc5C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAYhE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAwB;IAY3B,KAAK,CAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,GAAG,EACZ,QAAQ,CAAC,EAAE,OAAO,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,GAAG,CAAC;IAoLR,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAE,OAAe,GAAG,GAAG;CAahE"}