@waku/core 0.0.34-9f1d8ca.0 → 0.0.34-c41b319.0
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.
- package/bundle/base_protocol-CCK9RCtH.js +152 -0
- package/bundle/{index-BIW3qNYx.js → index-Db7LxDrL.js} +78 -159
- package/bundle/index.js +1882 -158
- package/bundle/lib/base_protocol.js +2 -2
- package/bundle/lib/message/version_0.js +2 -2
- package/bundle/{version_0-CdmZMfkQ.js → version_0-ANFNAdFD.js} +283 -45
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/base_protocol.d.ts +3 -23
- package/dist/lib/base_protocol.js +3 -47
- package/dist/lib/base_protocol.js.map +1 -1
- package/dist/lib/connection_manager/connection_manager.d.ts +118 -0
- package/dist/lib/{connection_manager.js → connection_manager/connection_manager.js} +136 -36
- package/dist/lib/connection_manager/connection_manager.js.map +1 -0
- package/dist/lib/connection_manager/index.d.ts +1 -0
- package/dist/lib/connection_manager/index.js +2 -0
- package/dist/lib/connection_manager/index.js.map +1 -0
- package/dist/lib/{keep_alive_manager.d.ts → connection_manager/keep_alive_manager.d.ts} +4 -2
- package/dist/lib/{keep_alive_manager.js → connection_manager/keep_alive_manager.js} +2 -2
- package/dist/lib/connection_manager/keep_alive_manager.js.map +1 -0
- package/dist/lib/connection_manager/utils.d.ts +7 -0
- package/dist/lib/connection_manager/utils.js +22 -0
- package/dist/lib/connection_manager/utils.js.map +1 -0
- package/dist/lib/filter/filter.d.ts +18 -0
- package/dist/lib/filter/filter.js +209 -0
- package/dist/lib/filter/filter.js.map +1 -0
- package/dist/lib/filter/index.d.ts +1 -18
- package/dist/lib/filter/index.js +1 -208
- package/dist/lib/filter/index.js.map +1 -1
- package/dist/lib/light_push/index.d.ts +1 -15
- package/dist/lib/light_push/index.js +1 -143
- package/dist/lib/light_push/index.js.map +1 -1
- package/dist/lib/light_push/light_push.d.ts +15 -0
- package/dist/lib/light_push/light_push.js +144 -0
- package/dist/lib/light_push/light_push.js.map +1 -0
- package/dist/lib/metadata/index.d.ts +1 -3
- package/dist/lib/metadata/index.js +1 -118
- package/dist/lib/metadata/index.js.map +1 -1
- package/dist/lib/metadata/metadata.d.ts +3 -0
- package/dist/lib/metadata/metadata.js +119 -0
- package/dist/lib/metadata/metadata.js.map +1 -0
- package/dist/lib/store/index.d.ts +1 -9
- package/dist/lib/store/index.js +1 -82
- package/dist/lib/store/index.js.map +1 -1
- package/dist/lib/store/store.d.ts +9 -0
- package/dist/lib/store/store.js +83 -0
- package/dist/lib/store/store.js.map +1 -0
- package/dist/lib/stream_manager/stream_manager.d.ts +2 -2
- package/dist/lib/stream_manager/stream_manager.js +16 -17
- package/dist/lib/stream_manager/stream_manager.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -4
- package/src/lib/base_protocol.ts +3 -76
- package/src/lib/{connection_manager.ts → connection_manager/connection_manager.ts} +168 -63
- package/src/lib/connection_manager/index.ts +1 -0
- package/src/lib/{keep_alive_manager.ts → connection_manager/keep_alive_manager.ts} +7 -3
- package/src/lib/connection_manager/utils.ts +25 -0
- package/src/lib/filter/filter.ts +315 -0
- package/src/lib/filter/index.ts +1 -315
- package/src/lib/light_push/index.ts +1 -188
- package/src/lib/light_push/light_push.ts +188 -0
- package/src/lib/metadata/index.ts +1 -182
- package/src/lib/metadata/metadata.ts +182 -0
- package/src/lib/store/index.ts +1 -136
- package/src/lib/store/store.ts +136 -0
- package/src/lib/stream_manager/stream_manager.ts +16 -18
- package/bundle/base_protocol-Dzv-QHPR.js +0 -275
- package/dist/lib/connection_manager.d.ts +0 -62
- package/dist/lib/connection_manager.js.map +0 -1
- package/dist/lib/filterPeers.d.ts +0 -13
- package/dist/lib/filterPeers.js +0 -38
- package/dist/lib/filterPeers.js.map +0 -1
- package/dist/lib/health_manager.d.ts +0 -14
- package/dist/lib/health_manager.js +0 -70
- package/dist/lib/health_manager.js.map +0 -1
- package/dist/lib/keep_alive_manager.js.map +0 -1
- package/src/lib/filterPeers.ts +0 -51
- package/src/lib/health_manager.ts +0 -90
@@ -1,90 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
HealthStatus,
|
3
|
-
type IHealthManager,
|
4
|
-
NodeHealth,
|
5
|
-
type ProtocolHealth,
|
6
|
-
Protocols
|
7
|
-
} from "@waku/interfaces";
|
8
|
-
|
9
|
-
class HealthManager implements IHealthManager {
|
10
|
-
public static instance: HealthManager;
|
11
|
-
private readonly health: NodeHealth;
|
12
|
-
|
13
|
-
private constructor() {
|
14
|
-
this.health = {
|
15
|
-
overallStatus: HealthStatus.Unhealthy,
|
16
|
-
protocolStatuses: new Map()
|
17
|
-
};
|
18
|
-
}
|
19
|
-
|
20
|
-
public static getInstance(): HealthManager {
|
21
|
-
if (!HealthManager.instance) {
|
22
|
-
HealthManager.instance = new HealthManager();
|
23
|
-
}
|
24
|
-
return HealthManager.instance;
|
25
|
-
}
|
26
|
-
|
27
|
-
public getHealthStatus(): HealthStatus {
|
28
|
-
return this.health.overallStatus;
|
29
|
-
}
|
30
|
-
|
31
|
-
public getProtocolStatus(protocol: Protocols): ProtocolHealth | undefined {
|
32
|
-
return this.health.protocolStatuses.get(protocol);
|
33
|
-
}
|
34
|
-
|
35
|
-
public updateProtocolHealth(
|
36
|
-
multicodec: string,
|
37
|
-
connectedPeers: number
|
38
|
-
): void {
|
39
|
-
const protocol = this.getNameFromMulticodec(multicodec);
|
40
|
-
|
41
|
-
let status: HealthStatus = HealthStatus.Unhealthy;
|
42
|
-
if (connectedPeers == 1) {
|
43
|
-
status = HealthStatus.MinimallyHealthy;
|
44
|
-
} else if (connectedPeers >= 2) {
|
45
|
-
status = HealthStatus.SufficientlyHealthy;
|
46
|
-
}
|
47
|
-
|
48
|
-
this.health.protocolStatuses.set(protocol, {
|
49
|
-
name: protocol,
|
50
|
-
status: status,
|
51
|
-
lastUpdate: new Date()
|
52
|
-
});
|
53
|
-
|
54
|
-
this.updateOverallHealth();
|
55
|
-
}
|
56
|
-
|
57
|
-
private getNameFromMulticodec(multicodec: string): Protocols {
|
58
|
-
let name: Protocols;
|
59
|
-
if (multicodec.includes("filter")) {
|
60
|
-
name = Protocols.Filter;
|
61
|
-
} else if (multicodec.includes("lightpush")) {
|
62
|
-
name = Protocols.LightPush;
|
63
|
-
} else if (multicodec.includes("store")) {
|
64
|
-
name = Protocols.Store;
|
65
|
-
} else {
|
66
|
-
throw new Error(`Unknown protocol: ${multicodec}`);
|
67
|
-
}
|
68
|
-
return name;
|
69
|
-
}
|
70
|
-
|
71
|
-
private updateOverallHealth(): void {
|
72
|
-
const relevantProtocols = [Protocols.LightPush, Protocols.Filter];
|
73
|
-
const statuses = relevantProtocols.map(
|
74
|
-
(p) => this.getProtocolStatus(p)?.status
|
75
|
-
);
|
76
|
-
|
77
|
-
if (statuses.some((status) => status === HealthStatus.Unhealthy)) {
|
78
|
-
this.health.overallStatus = HealthStatus.Unhealthy;
|
79
|
-
} else if (
|
80
|
-
statuses.some((status) => status === HealthStatus.MinimallyHealthy)
|
81
|
-
) {
|
82
|
-
this.health.overallStatus = HealthStatus.MinimallyHealthy;
|
83
|
-
} else {
|
84
|
-
this.health.overallStatus = HealthStatus.SufficientlyHealthy;
|
85
|
-
}
|
86
|
-
}
|
87
|
-
}
|
88
|
-
|
89
|
-
export const getHealthManager = (): HealthManager =>
|
90
|
-
HealthManager.getInstance();
|