nvent 0.4.0 → 0.4.1
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/dist/module.mjs +55 -13
- package/dist/runtime/app/assets/vueflow.css +1 -0
- package/dist/runtime/app/plugins/vueflow.client.d.ts +0 -4
- package/dist/runtime/app/plugins/vueflow.client.js +0 -4
- package/dist/runtime/server/api/_flows/ws.js +4 -2
- package/dist/runtime/server/api/_queues/ws.js +4 -2
- package/dist/runtime/server/plugins/00.event-store.js +1 -1
- package/dist/runtime/server/plugins/00.ws-lifecycle.js +9 -6
- package/dist/runtime/server/plugins/queue-management.js +2 -2
- package/dist/runtime/server/plugins/state-cleanup.js +1 -1
- package/dist/runtime/server/plugins/worker-management.js +1 -1
- package/dist/runtime/{server → server-utils}/events/eventBus.d.ts +1 -1
- package/dist/runtime/{server → server-utils}/events/types.d.ts +1 -1
- package/dist/runtime/{server → server-utils}/events/wiring/flowWiring.d.ts +1 -1
- package/dist/runtime/{server → server-utils}/utils/useEventManager.d.ts +1 -1
- package/dist/runtime/{server → server-utils}/utils/useEventStore.d.ts +1 -1
- package/dist/runtime/server-utils/utils/wsPeerManager.d.ts +44 -0
- package/dist/runtime/server-utils/utils/wsPeerManager.js +32 -0
- package/package.json +1 -1
- package/dist/runtime/server/utils/wsPeerManager.d.ts +0 -34
- package/dist/runtime/server/utils/wsPeerManager.js +0 -23
- /package/dist/runtime/{server → server-utils}/events/adapters/fileAdapter.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/events/adapters/fileAdapter.js +0 -0
- /package/dist/runtime/{server → server-utils}/events/adapters/memoryAdapter.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/events/adapters/memoryAdapter.js +0 -0
- /package/dist/runtime/{server → server-utils}/events/adapters/redis/redisAdapter.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/events/adapters/redis/redisAdapter.js +0 -0
- /package/dist/runtime/{server → server-utils}/events/adapters/redis/redisPubSubGateway.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/events/adapters/redis/redisPubSubGateway.js +0 -0
- /package/dist/runtime/{server → server-utils}/events/eventBus.js +0 -0
- /package/dist/runtime/{server → server-utils}/events/eventStoreFactory.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/events/eventStoreFactory.js +0 -0
- /package/dist/runtime/{server → server-utils}/events/streamNames.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/events/streamNames.js +0 -0
- /package/dist/runtime/{server → server-utils}/events/types.js +0 -0
- /package/dist/runtime/{server → server-utils}/events/wiring/flowWiring.js +0 -0
- /package/dist/runtime/{server → server-utils}/events/wiring/registry.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/events/wiring/registry.js +0 -0
- /package/dist/runtime/{server → server-utils}/queue/adapters/bullmq.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/queue/adapters/bullmq.js +0 -0
- /package/dist/runtime/{server → server-utils}/queue/queueFactory.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/queue/queueFactory.js +0 -0
- /package/dist/runtime/{server → server-utils}/queue/types.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/queue/types.js +0 -0
- /package/dist/runtime/{server → server-utils}/state/adapters/redis.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/state/adapters/redis.js +0 -0
- /package/dist/runtime/{server → server-utils}/state/stateFactory.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/state/stateFactory.js +0 -0
- /package/dist/runtime/{server → server-utils}/state/types.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/state/types.js +0 -0
- /package/dist/runtime/{server → server-utils}/utils/defineQueueConfig.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/utils/defineQueueConfig.js +0 -0
- /package/dist/runtime/{server → server-utils}/utils/defineQueueWorker.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/utils/defineQueueWorker.js +0 -0
- /package/dist/runtime/{server → server-utils}/utils/useEventManager.js +0 -0
- /package/dist/runtime/{server → server-utils}/utils/useEventStore.js +0 -0
- /package/dist/runtime/{server → server-utils}/utils/useFlowEngine.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/utils/useFlowEngine.js +0 -0
- /package/dist/runtime/{server → server-utils}/utils/useLogs.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/utils/useLogs.js +0 -0
- /package/dist/runtime/{server → server-utils}/utils/useQueue.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/utils/useQueue.js +0 -0
- /package/dist/runtime/{server → server-utils}/utils/useServerLogger.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/utils/useServerLogger.js +0 -0
- /package/dist/runtime/{server → server-utils}/worker/adapter.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/worker/adapter.js +0 -0
- /package/dist/runtime/{server → server-utils}/worker/runner/node.d.ts +0 -0
- /package/dist/runtime/{server → server-utils}/worker/runner/node.js +0 -0
package/dist/module.mjs
CHANGED
|
@@ -837,6 +837,8 @@ const module = defineNuxtModule({
|
|
|
837
837
|
addImportsDir(resolve("./runtime/shared/utils"));
|
|
838
838
|
addImportsDir(resolve("./runtime/app/composables"));
|
|
839
839
|
if (config.ui) {
|
|
840
|
+
nuxt.options.css = nuxt.options.css || [];
|
|
841
|
+
nuxt.options.css.push(resolve("./runtime/app/assets/vueflow.css"));
|
|
840
842
|
addPlugin({
|
|
841
843
|
src: resolve("./runtime/app/plugins/vueflow.client.ts"),
|
|
842
844
|
mode: "client"
|
|
@@ -917,19 +919,59 @@ const module = defineNuxtModule({
|
|
|
917
919
|
write: true,
|
|
918
920
|
getContents: () => generateAnalyzedFlowsTemplate(lastCompiledRegistry)
|
|
919
921
|
});
|
|
920
|
-
addServerImports([
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
922
|
+
addServerImports([
|
|
923
|
+
// Generated templates
|
|
924
|
+
{
|
|
925
|
+
name: "useQueueRegistry",
|
|
926
|
+
as: "$useQueueRegistry",
|
|
927
|
+
from: resolve(nuxt.options.buildDir, "queue-registry")
|
|
928
|
+
},
|
|
929
|
+
{
|
|
930
|
+
name: "useWorkerHandlers",
|
|
931
|
+
as: "$useWorkerHandlers",
|
|
932
|
+
from: resolve(nuxt.options.buildDir, "worker-handlers")
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
name: "useAnalyzedFlows",
|
|
936
|
+
as: "$useAnalyzedFlows",
|
|
937
|
+
from: resolve(nuxt.options.buildDir, "analyzed-flows")
|
|
938
|
+
},
|
|
939
|
+
// Core utilities for user code (moved to server-utils to avoid bundling issues)
|
|
940
|
+
{
|
|
941
|
+
name: "defineQueueConfig",
|
|
942
|
+
from: resolve("./runtime/server-utils/utils/defineQueueConfig")
|
|
943
|
+
},
|
|
944
|
+
{
|
|
945
|
+
name: "defineQueueWorker",
|
|
946
|
+
from: resolve("./runtime/server-utils/utils/defineQueueWorker")
|
|
947
|
+
},
|
|
948
|
+
// Composables users may need in server code
|
|
949
|
+
{
|
|
950
|
+
name: "useQueue",
|
|
951
|
+
from: resolve("./runtime/server-utils/utils/useQueue")
|
|
952
|
+
},
|
|
953
|
+
{
|
|
954
|
+
name: "useFlowEngine",
|
|
955
|
+
from: resolve("./runtime/server-utils/utils/useFlowEngine")
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
name: "useEventStore",
|
|
959
|
+
from: resolve("./runtime/server-utils/utils/useEventStore")
|
|
960
|
+
},
|
|
961
|
+
{
|
|
962
|
+
name: "useServerLogger",
|
|
963
|
+
from: resolve("./runtime/server-utils/utils/useServerLogger")
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
name: "useLogs",
|
|
967
|
+
from: resolve("./runtime/server-utils/utils/useLogs")
|
|
968
|
+
},
|
|
969
|
+
{
|
|
970
|
+
name: "useEventManager",
|
|
971
|
+
from: resolve("./runtime/server-utils/utils/useEventManager")
|
|
972
|
+
},
|
|
973
|
+
{ name: "usePeerManager", from: resolve("./runtime/server-utils/utils/wsPeerManager") }
|
|
974
|
+
]);
|
|
933
975
|
const refreshRegistry = async (reason, changedPath) => {
|
|
934
976
|
const queuesRel = config.dir || "queues";
|
|
935
977
|
const updatedRegistry = await compileRegistryFromServerWorkers(layerInfos, queuesRel, defaultConfigs);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "@vue-flow/core/dist/style.css";@import "@vue-flow/core/dist/theme-default.css";@import "@vue-flow/controls/dist/style.css";@import "@vue-flow/minimap/dist/style.css";
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
import '@vue-flow/core/dist/style.css';
|
|
2
|
-
import '@vue-flow/core/dist/theme-default.css';
|
|
3
|
-
import '@vue-flow/controls/dist/style.css';
|
|
4
|
-
import '@vue-flow/minimap/dist/style.css';
|
|
5
1
|
declare const _default: import("#app").Plugin<Record<string, unknown>> & import("#app").ObjectPlugin<Record<string, unknown>>;
|
|
6
2
|
export default _default;
|
|
@@ -3,10 +3,6 @@ import { VueFlow } from "@vue-flow/core";
|
|
|
3
3
|
import { Controls } from "@vue-flow/controls";
|
|
4
4
|
import { MiniMap } from "@vue-flow/minimap";
|
|
5
5
|
import { Background } from "@vue-flow/background";
|
|
6
|
-
import "@vue-flow/core/dist/style.css";
|
|
7
|
-
import "@vue-flow/core/dist/theme-default.css";
|
|
8
|
-
import "@vue-flow/controls/dist/style.css";
|
|
9
|
-
import "@vue-flow/minimap/dist/style.css";
|
|
10
6
|
export default defineNuxtPlugin((nuxtApp) => {
|
|
11
7
|
nuxtApp.vueApp.component("VueFlow", VueFlow);
|
|
12
8
|
nuxtApp.vueApp.component("Controls", Controls);
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defineWebSocketHandler,
|
|
3
3
|
useEventStore,
|
|
4
|
-
|
|
5
|
-
unregisterWsPeer,
|
|
4
|
+
usePeerManager,
|
|
6
5
|
useServerLogger
|
|
7
6
|
} from "#imports";
|
|
8
7
|
const logger = useServerLogger("api-flows-ws");
|
|
@@ -18,6 +17,7 @@ function safeSend(peer, data) {
|
|
|
18
17
|
export default defineWebSocketHandler({
|
|
19
18
|
open(peer) {
|
|
20
19
|
logger.info("[ws] client connected:", { peerId: peer.id });
|
|
20
|
+
const { registerWsPeer } = usePeerManager();
|
|
21
21
|
registerWsPeer(peer);
|
|
22
22
|
peerContexts.set(peer, {
|
|
23
23
|
subscriptions: /* @__PURE__ */ new Map()
|
|
@@ -148,6 +148,7 @@ export default defineWebSocketHandler({
|
|
|
148
148
|
if (!isNormalClosure) {
|
|
149
149
|
logger.info("[ws] client disconnected:", { peerId: peer.id, code: event?.code, reason: event?.reason });
|
|
150
150
|
}
|
|
151
|
+
const { unregisterWsPeer } = usePeerManager();
|
|
151
152
|
unregisterWsPeer(peer);
|
|
152
153
|
const context = peerContexts.get(peer);
|
|
153
154
|
if (context) {
|
|
@@ -166,6 +167,7 @@ export default defineWebSocketHandler({
|
|
|
166
167
|
},
|
|
167
168
|
error(peer, error) {
|
|
168
169
|
logger.error("[ws] error for peer:", { peerId: peer.id, error });
|
|
170
|
+
const { unregisterWsPeer } = usePeerManager();
|
|
169
171
|
unregisterWsPeer(peer);
|
|
170
172
|
const context = peerContexts.get(peer);
|
|
171
173
|
if (context) {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defineWebSocketHandler,
|
|
3
3
|
useQueue,
|
|
4
|
-
|
|
5
|
-
unregisterWsPeer,
|
|
4
|
+
usePeerManager,
|
|
6
5
|
useServerLogger
|
|
7
6
|
} from "#imports";
|
|
8
7
|
const peerContexts = /* @__PURE__ */ new WeakMap();
|
|
@@ -18,6 +17,7 @@ function safeSend(peer, data) {
|
|
|
18
17
|
export default defineWebSocketHandler({
|
|
19
18
|
open(peer) {
|
|
20
19
|
logger.info("[ws:queues] client connected:", peer.id);
|
|
20
|
+
const { registerWsPeer } = usePeerManager();
|
|
21
21
|
registerWsPeer(peer);
|
|
22
22
|
peerContexts.set(peer, {
|
|
23
23
|
subscriptions: /* @__PURE__ */ new Map()
|
|
@@ -162,6 +162,7 @@ export default defineWebSocketHandler({
|
|
|
162
162
|
reason: event?.reason
|
|
163
163
|
});
|
|
164
164
|
}
|
|
165
|
+
const { unregisterWsPeer } = usePeerManager();
|
|
165
166
|
unregisterWsPeer(peer);
|
|
166
167
|
const context = peerContexts.get(peer);
|
|
167
168
|
if (context) {
|
|
@@ -183,6 +184,7 @@ export default defineWebSocketHandler({
|
|
|
183
184
|
peerId: peer.id,
|
|
184
185
|
error
|
|
185
186
|
});
|
|
187
|
+
const { unregisterWsPeer } = usePeerManager();
|
|
186
188
|
unregisterWsPeer(peer);
|
|
187
189
|
const context = peerContexts.get(peer);
|
|
188
190
|
if (context) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineNitroPlugin } from "#imports";
|
|
2
|
-
import { getEventStoreFactory } from "
|
|
2
|
+
import { getEventStoreFactory } from "../../server-utils/events/eventStoreFactory.js";
|
|
3
3
|
export default defineNitroPlugin(() => {
|
|
4
4
|
const factory = getEventStoreFactory();
|
|
5
5
|
factory.start();
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defineNitroPlugin,
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
setShuttingDown,
|
|
6
|
-
clearAllPeers,
|
|
7
|
-
isServerShuttingDown,
|
|
8
|
-
useServerLogger
|
|
3
|
+
useServerLogger,
|
|
4
|
+
usePeerManager
|
|
9
5
|
} from "#imports";
|
|
10
6
|
const logger = useServerLogger("plugin-ws-lifecycle");
|
|
11
7
|
export default defineNitroPlugin((nitroApp) => {
|
|
12
8
|
logger.info("[ws-lifecycle] WebSocket lifecycle plugin initialized");
|
|
9
|
+
const {
|
|
10
|
+
getActivePeers,
|
|
11
|
+
isServerShuttingDown,
|
|
12
|
+
setShuttingDown,
|
|
13
|
+
clearAllPeers,
|
|
14
|
+
getActivePeerCount
|
|
15
|
+
} = usePeerManager();
|
|
13
16
|
const originalUnhandledRejection = process.listeners("unhandledRejection");
|
|
14
17
|
nitroApp.hooks.hook("close", async () => {
|
|
15
18
|
setShuttingDown(true);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineNitroPlugin, useServerLogger } from "#imports";
|
|
2
|
-
import { BullMQProvider } from "
|
|
3
|
-
import { setQueueProvider, getQueueProvider } from "
|
|
2
|
+
import { BullMQProvider } from "../../server-utils/queue/adapters/bullmq.js";
|
|
3
|
+
import { setQueueProvider, getQueueProvider } from "../../server-utils/queue/queueFactory.js";
|
|
4
4
|
const logger = useServerLogger("plugin-queue-management");
|
|
5
5
|
export default defineNitroPlugin(async (nitroApp) => {
|
|
6
6
|
try {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useServerLogger, defineNitroPlugin, useEventManager, useRuntimeConfig } from "#imports";
|
|
2
|
-
import { getStateProvider } from "
|
|
2
|
+
import { getStateProvider } from "../../server-utils/state/stateFactory.js";
|
|
3
3
|
const logger = useServerLogger("plugin-state-cleanup");
|
|
4
4
|
export default defineNitroPlugin(() => {
|
|
5
5
|
const rc = useRuntimeConfig();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineNitroPlugin, $useWorkerHandlers, $useQueueRegistry } from "#imports";
|
|
2
|
-
import { registerTsWorker, closeAllWorkers } from "
|
|
2
|
+
import { registerTsWorker, closeAllWorkers } from "../../server-utils/worker/adapter.js";
|
|
3
3
|
export default defineNitroPlugin(async (nitroApp) => {
|
|
4
4
|
nitroApp.hooks.hook("close", async () => {
|
|
5
5
|
await closeAllWorkers();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EventReadOptions } from '../events/types.js';
|
|
2
|
-
import type { EventRecord } from '
|
|
2
|
+
import type { EventRecord } from '../types.js';
|
|
3
3
|
export declare function useEventStore(): {
|
|
4
4
|
names: () => import("../events/streamNames.js").StreamNames;
|
|
5
5
|
read: (stream: string, opts?: EventReadOptions) => Promise<EventRecord[]>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket Peer Manager
|
|
3
|
+
*
|
|
4
|
+
* Tracks active WebSocket connections for graceful shutdown during HMR.
|
|
5
|
+
* Auto-imported in Nitro server context.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Register a peer to be tracked for graceful shutdown
|
|
9
|
+
*/
|
|
10
|
+
declare function registerWsPeer(peer: any): void;
|
|
11
|
+
/**
|
|
12
|
+
* Unregister a peer (called when connection closes normally)
|
|
13
|
+
*/
|
|
14
|
+
declare function unregisterWsPeer(peer: any): void;
|
|
15
|
+
/**
|
|
16
|
+
* Get all currently active WebSocket peers
|
|
17
|
+
*/
|
|
18
|
+
declare function getActivePeers(): any[];
|
|
19
|
+
/**
|
|
20
|
+
* Check if server is currently shutting down
|
|
21
|
+
*/
|
|
22
|
+
declare function isServerShuttingDown(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Set the shutdown state
|
|
25
|
+
*/
|
|
26
|
+
declare function setShuttingDown(state: boolean): void;
|
|
27
|
+
/**
|
|
28
|
+
* Clear all tracked peers
|
|
29
|
+
*/
|
|
30
|
+
declare function clearAllPeers(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Get the count of active peers
|
|
33
|
+
*/
|
|
34
|
+
declare function getActivePeerCount(): number;
|
|
35
|
+
export declare const usePeerManager: () => {
|
|
36
|
+
registerWsPeer: typeof registerWsPeer;
|
|
37
|
+
unregisterWsPeer: typeof unregisterWsPeer;
|
|
38
|
+
getActivePeers: typeof getActivePeers;
|
|
39
|
+
isServerShuttingDown: typeof isServerShuttingDown;
|
|
40
|
+
setShuttingDown: typeof setShuttingDown;
|
|
41
|
+
clearAllPeers: typeof clearAllPeers;
|
|
42
|
+
getActivePeerCount: typeof getActivePeerCount;
|
|
43
|
+
};
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const activePeers = /* @__PURE__ */ new Set();
|
|
2
|
+
let isShuttingDown = false;
|
|
3
|
+
function registerWsPeer(peer) {
|
|
4
|
+
activePeers.add(peer);
|
|
5
|
+
}
|
|
6
|
+
function unregisterWsPeer(peer) {
|
|
7
|
+
activePeers.delete(peer);
|
|
8
|
+
}
|
|
9
|
+
function getActivePeers() {
|
|
10
|
+
return Array.from(activePeers);
|
|
11
|
+
}
|
|
12
|
+
function isServerShuttingDown() {
|
|
13
|
+
return isShuttingDown;
|
|
14
|
+
}
|
|
15
|
+
function setShuttingDown(state) {
|
|
16
|
+
isShuttingDown = state;
|
|
17
|
+
}
|
|
18
|
+
function clearAllPeers() {
|
|
19
|
+
activePeers.clear();
|
|
20
|
+
}
|
|
21
|
+
function getActivePeerCount() {
|
|
22
|
+
return activePeers.size;
|
|
23
|
+
}
|
|
24
|
+
export const usePeerManager = () => ({
|
|
25
|
+
registerWsPeer,
|
|
26
|
+
unregisterWsPeer,
|
|
27
|
+
getActivePeers,
|
|
28
|
+
isServerShuttingDown,
|
|
29
|
+
setShuttingDown,
|
|
30
|
+
clearAllPeers,
|
|
31
|
+
getActivePeerCount
|
|
32
|
+
});
|
package/package.json
CHANGED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WebSocket Peer Manager
|
|
3
|
-
*
|
|
4
|
-
* Tracks active WebSocket connections for graceful shutdown during HMR.
|
|
5
|
-
* Auto-imported in Nitro server context.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Register a peer to be tracked for graceful shutdown
|
|
9
|
-
*/
|
|
10
|
-
export declare function registerWsPeer(peer: any): void;
|
|
11
|
-
/**
|
|
12
|
-
* Unregister a peer (called when connection closes normally)
|
|
13
|
-
*/
|
|
14
|
-
export declare function unregisterWsPeer(peer: any): void;
|
|
15
|
-
/**
|
|
16
|
-
* Get all currently active WebSocket peers
|
|
17
|
-
*/
|
|
18
|
-
export declare function getActivePeers(): any[];
|
|
19
|
-
/**
|
|
20
|
-
* Check if server is currently shutting down
|
|
21
|
-
*/
|
|
22
|
-
export declare function isServerShuttingDown(): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Set the shutdown state
|
|
25
|
-
*/
|
|
26
|
-
export declare function setShuttingDown(state: boolean): void;
|
|
27
|
-
/**
|
|
28
|
-
* Clear all tracked peers
|
|
29
|
-
*/
|
|
30
|
-
export declare function clearAllPeers(): void;
|
|
31
|
-
/**
|
|
32
|
-
* Get the count of active peers
|
|
33
|
-
*/
|
|
34
|
-
export declare function getActivePeerCount(): number;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const activePeers = /* @__PURE__ */ new Set();
|
|
2
|
-
let isShuttingDown = false;
|
|
3
|
-
export function registerWsPeer(peer) {
|
|
4
|
-
activePeers.add(peer);
|
|
5
|
-
}
|
|
6
|
-
export function unregisterWsPeer(peer) {
|
|
7
|
-
activePeers.delete(peer);
|
|
8
|
-
}
|
|
9
|
-
export function getActivePeers() {
|
|
10
|
-
return Array.from(activePeers);
|
|
11
|
-
}
|
|
12
|
-
export function isServerShuttingDown() {
|
|
13
|
-
return isShuttingDown;
|
|
14
|
-
}
|
|
15
|
-
export function setShuttingDown(state) {
|
|
16
|
-
isShuttingDown = state;
|
|
17
|
-
}
|
|
18
|
-
export function clearAllPeers() {
|
|
19
|
-
activePeers.clear();
|
|
20
|
-
}
|
|
21
|
-
export function getActivePeerCount() {
|
|
22
|
-
return activePeers.size;
|
|
23
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|