@zlink-systems/framework 0.26.0 → 0.28.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/dist/.tsbuildinfo +1 -1
- package/dist/contracts/Actors/ZLinkActorClient.d.ts +1 -1
- package/dist/contracts/Channels/Calls.d.ts +1 -1
- package/dist/contracts/Common/CoreTypes.d.ts +6 -0
- package/dist/contracts/Common/CoreTypes.js +7 -0
- package/dist/contracts/Common/index.d.ts +1 -1
- package/dist/contracts/Common/index.js +0 -1
- package/dist/contracts/Configuration/Builders.d.ts +0 -1
- package/dist/contracts/Configuration/Configs.d.ts +0 -1
- package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
- package/dist/contracts/Configuration/InternalDefaults.js +9 -1
- package/dist/contracts/Configuration/Registration.d.ts +13 -2
- package/dist/contracts/Configuration/Registration.js +58 -36
- package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
- package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
- package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
- package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
- package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -5
- package/dist/contracts/Configuration/RegistrationValidators.js +15 -14
- package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
- package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
- package/dist/contracts/Handlers/JsonContract.js +10 -4
- package/dist/contracts/Locations/Authority.d.ts +1 -1
- package/dist/contracts/Locations/Authority.js +3 -2
- package/dist/contracts/Locations/Options.js +1 -1
- package/dist/contracts/Locations/Stores.d.ts +12 -0
- package/dist/contracts/Locations/Stores.js +9 -0
- package/dist/contracts/Spots/Contracts.d.ts +2 -2
- package/dist/contracts/Streams/BoundSessionContracts.d.ts +1 -1
- package/dist/contracts/Streams/IZLinkSession.d.ts +2 -3
- package/dist/contracts/Streams/IZLinkSessionActor.d.ts +2 -2
- package/dist/internal.d.ts +4 -0
- package/dist/internal.js +15 -1
- package/dist/nest-integration.d.ts +4 -2
- package/dist/nest-integration.js +14 -4
- package/dist/runtime/abort.d.ts +1 -0
- package/dist/runtime/abort.js +8 -5
- package/dist/runtime/activation-admission.d.ts +1 -2
- package/dist/runtime/activation-admission.js +2 -6
- package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
- package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
- package/dist/runtime/actors/actor-client.d.ts +2 -2
- package/dist/runtime/actors/actor-client.js +49 -153
- package/dist/runtime/actors/actor-context.d.ts +3 -5
- package/dist/runtime/actors/actor-context.js +13 -11
- package/dist/runtime/actors/actor-handoff.d.ts +4 -4
- package/dist/runtime/actors/actor-handoff.js +8 -8
- package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
- package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
- package/dist/runtime/actors/actor-local-native-join.js +83 -105
- package/dist/runtime/actors/actor-native-lookup.js +2 -8
- package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
- package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
- package/dist/runtime/actors/actor-remote-joiner.d.ts +1 -1
- package/dist/runtime/actors/actor-remote-joiner.js +5 -9
- package/dist/runtime/actors/actor-remote-wire.js +5 -3
- package/dist/runtime/actors/actor-request-deadline.d.ts +1 -0
- package/dist/runtime/actors/actor-request-deadline.js +6 -0
- package/dist/runtime/actors/actor-retry-delay.js +2 -1
- package/dist/runtime/actors/actor-routed-join-transport.d.ts +2 -3
- package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
- package/dist/runtime/actors/actor-runtime-state.js +70 -187
- package/dist/runtime/actors/bound-session-wire.js +2 -7
- package/dist/runtime/actors/deferred-join-completion.d.ts +11 -6
- package/dist/runtime/actors/deferred-join-completion.js +1 -0
- package/dist/runtime/actors/index.d.ts +9 -7
- package/dist/runtime/actors/index.js +87 -69
- package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
- package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
- package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
- package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
- package/dist/runtime/admission.d.ts +2 -0
- package/dist/runtime/admission.js +7 -1
- package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
- package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
- package/dist/runtime/backend/contracts/index.d.ts +7 -27
- package/dist/runtime/backend/mesh-actor-session-node-adapter.js +1 -17
- package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
- package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
- package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +3 -1
- package/dist/runtime/backend/node/node-backend-adapter-support.js +51 -10
- package/dist/runtime/backend/node/node-dealer-channel-client-transport.d.ts +1 -1
- package/dist/runtime/backend/node/node-dealer-channel-client-transport.js +1 -2
- package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
- package/dist/runtime/backend/node/node-event-loop-poller.js +6 -7
- package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
- package/dist/runtime/backend/node/node-raw-binding-port.js +41 -34
- package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +14 -15
- package/dist/runtime/backend/node/node-raw-mesh-backend.js +146 -118
- package/dist/runtime/backend/node/node-socket-backend-adapter.js +4 -3
- package/dist/runtime/backend/raw-binding-port.d.ts +1 -1
- package/dist/runtime/backend/runtime-values.d.ts +4 -1
- package/dist/runtime/backend/runtime-values.js +2 -0
- package/dist/runtime/channels/channel-clients.d.ts +20 -8
- package/dist/runtime/channels/channel-clients.js +73 -59
- package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
- package/dist/runtime/channels/channel-envelope.d.ts +1 -1
- package/dist/runtime/channels/channel-envelope.js +51 -39
- package/dist/runtime/channels/channel-outbound-operations.d.ts +5 -2
- package/dist/runtime/channels/channel-outbound-operations.js +25 -42
- package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
- package/dist/runtime/channels/channel-receive-loops.js +27 -6
- package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
- package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
- package/dist/runtime/channels/channel-runtime-manager.d.ts +4 -4
- package/dist/runtime/channels/channel-runtime-manager.js +13 -10
- package/dist/runtime/channels/channel-socket-options.js +3 -12
- package/dist/runtime/channels/channel-socket-registry.d.ts +14 -29
- package/dist/runtime/channels/channel-socket-registry.js +240 -177
- package/dist/runtime/channels/channel-transports.d.ts +21 -31
- package/dist/runtime/channels/channel-transports.js +80 -62
- package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
- package/dist/runtime/channels/client-server-location-runtime.js +10 -11
- package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
- package/dist/runtime/channels/client-server-service-wire.js +32 -11
- package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
- package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
- package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
- package/dist/runtime/channels/fanout-location-runtime.js +130 -72
- package/dist/runtime/channels/local-spot-route-transport.d.ts +1 -1
- package/dist/runtime/channels/local-spot-route-transport.js +1 -3
- package/dist/runtime/channels/router-socket-spot-route-transport.d.ts +1 -1
- package/dist/runtime/channels/router-socket-spot-route-transport.js +2 -2
- package/dist/runtime/channels/source-spot-router.d.ts +1 -1
- package/dist/runtime/channels/source-spot-router.js +2 -4
- package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
- package/dist/runtime/channels/spot-direct-envelope.js +4 -3
- package/dist/runtime/channels/spot-node-route-transport.d.ts +1 -1
- package/dist/runtime/channels/spot-node-route-transport.js +5 -5
- package/dist/runtime/channels/spot-route-bridge-transport.d.ts +1 -1
- package/dist/runtime/channels/spot-route-bridge-transport.js +2 -2
- package/dist/runtime/channels/spot-route-dispatch-strategy.d.ts +2 -4
- package/dist/runtime/channels/spot-route-dispatch-strategy.js +11 -12
- package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
- package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
- package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
- package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
- package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
- package/dist/runtime/diagnostics/flow-context.js +16 -2
- package/dist/runtime/diagnostics/index.d.ts +4 -2
- package/dist/runtime/diagnostics/index.js +14 -4
- package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
- package/dist/runtime/diagnostics/message-flow.js +10 -19
- package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
- package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
- package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
- package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
- package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
- package/dist/runtime/disposal.d.ts +5 -0
- package/dist/runtime/disposal.js +22 -0
- package/dist/runtime/execution/index.d.ts +12 -9
- package/dist/runtime/execution/index.js +58 -14
- package/dist/runtime/execution/serial-execution-queue.d.ts +8 -2
- package/dist/runtime/execution/serial-execution-queue.js +54 -15
- package/dist/runtime/execution/state-lane.d.ts +8 -1
- package/dist/runtime/execution/state-lane.js +118 -3
- package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
- package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
- package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
- package/dist/runtime/foundation/event-loop-resources.js +6 -119
- package/dist/runtime/foundation/operation-identity.d.ts +2 -0
- package/dist/runtime/foundation/operation-identity.js +9 -5
- package/dist/runtime/foundation/operation-registry.d.ts +5 -7
- package/dist/runtime/foundation/operation-registry.js +34 -44
- package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +8 -5
- package/dist/runtime/foundation/raw-service-mesh-runtime.js +79 -94
- package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
- package/dist/runtime/foundation/runtime-state-projections.js +8 -0
- package/dist/runtime/foundation/service-authority-payload-codec.js +22 -12
- package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
- package/dist/runtime/foundation/service-discovery-registry.js +22 -3
- package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
- package/dist/runtime/foundation/service-liveness-registry.js +2 -1
- package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
- package/dist/runtime/foundation/service-maintenance-runtime.js +0 -6
- package/dist/runtime/foundation/service-metadata-codec.js +3 -3
- package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
- package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
- package/dist/runtime/foundation/service-relocation-object-owner.js +3 -2
- package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
- package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
- package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
- package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -12
- package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
- package/dist/runtime/foundation/service-stateful-registry.js +10 -2
- package/dist/runtime/foundation/service-stateful-runtime.d.ts +26 -25
- package/dist/runtime/foundation/service-stateful-runtime.js +217 -204
- package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -3
- package/dist/runtime/foundation/service-stateful-wire-codec.js +89 -55
- package/dist/runtime/foundation/service-topology-registry.d.ts +0 -1
- package/dist/runtime/foundation/service-topology-registry.js +17 -32
- package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
- package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
- package/dist/runtime/foundation/service-wire-codec.js +10 -8
- package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
- package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
- package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
- package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
- package/dist/runtime/framework-errors-internal.d.ts +2 -1
- package/dist/runtime/framework-errors-internal.js +343 -122
- package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
- package/dist/runtime/handlers/handler-instance-scope.js +61 -74
- package/dist/runtime/host/actor-packet-relay.d.ts +11 -8
- package/dist/runtime/host/actor-packet-relay.js +54 -99
- package/dist/runtime/host/actor-placement-coordinator.js +7 -5
- package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
- package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
- package/dist/runtime/host/actor-transfer-runtime.d.ts +16 -18
- package/dist/runtime/host/actor-transfer-runtime.js +143 -176
- package/dist/runtime/host/application-job-queue.js +16 -33
- package/dist/runtime/host/bound-session-relay.js +1 -1
- package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
- package/dist/runtime/host/index.d.ts +14 -13
- package/dist/runtime/host/index.js +190 -171
- package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
- package/dist/runtime/host/instance-activation-authority.js +17 -45
- package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
- package/dist/runtime/host/location-runtime-owner.js +2 -2
- package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
- package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
- package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
- package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
- package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
- package/dist/runtime/host/remote-bound-session-relay.js +15 -28
- package/dist/runtime/host/route-mesh-runtime.d.ts +13 -11
- package/dist/runtime/host/route-mesh-runtime.js +171 -252
- package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
- package/dist/runtime/host/runtime-shutdown.js +18 -21
- package/dist/runtime/host/service-relocation-control.js +6 -1
- package/dist/runtime/host/service-relocation-host-runtime.d.ts +21 -30
- package/dist/runtime/host/service-relocation-host-runtime.js +508 -416
- package/dist/runtime/host/spot-address-transport.d.ts +3 -12
- package/dist/runtime/host/spot-address-transport.js +78 -220
- package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
- package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
- package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -10
- package/dist/runtime/host/spot-runtime-options-factory.js +50 -14
- package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -3
- package/dist/runtime/host/user-spot-creation-coordinator.js +11 -8
- package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
- package/dist/runtime/locations/authority-key-codec.js +4 -3
- package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
- package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
- package/dist/runtime/locations/creation-operation-id.js +6 -4
- package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
- package/dist/runtime/locations/in-memory-authority-store.js +31 -15
- package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
- package/dist/runtime/locations/in-memory-location-store.js +17 -14
- package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
- package/dist/runtime/locations/in-memory-provider-location-store.js +72 -22
- package/dist/runtime/locations/key-codec.js +3 -2
- package/dist/runtime/locations/lease-tracker.d.ts +3 -5
- package/dist/runtime/locations/lease-tracker.js +7 -11
- package/dist/runtime/locations/lifecycle.d.ts +4 -9
- package/dist/runtime/locations/lifecycle.js +2 -31
- package/dist/runtime/locations/location-store-failure.d.ts +2 -0
- package/dist/runtime/locations/location-store-failure.js +7 -0
- package/dist/runtime/locations/location-store-pages.d.ts +3 -0
- package/dist/runtime/locations/location-store-pages.js +13 -0
- package/dist/runtime/locations/location-store-repository.d.ts +5 -7
- package/dist/runtime/locations/location-store-repository.js +309 -336
- package/dist/runtime/locations/relocation-blob.js +18 -5
- package/dist/runtime/locations/resolvers.d.ts +5 -5
- package/dist/runtime/locations/resolvers.js +37 -28
- package/dist/runtime/locations/runtime.d.ts +5 -4
- package/dist/runtime/locations/runtime.js +123 -92
- package/dist/runtime/locations/spot-location-claims.d.ts +6 -0
- package/dist/runtime/locations/spot-location-claims.js +42 -1
- package/dist/runtime/messaging/payload-codec.js +26 -20
- package/dist/runtime/messaging/request-deadline.d.ts +3 -0
- package/dist/runtime/messaging/request-deadline.js +39 -0
- package/dist/runtime/messaging/submission-result.d.ts +4 -0
- package/dist/runtime/messaging/submission-result.js +56 -1
- package/dist/runtime/protocol/service_wire_codec.generated.d.ts +1 -0
- package/dist/runtime/protocol/service_wire_codec.generated.js +12 -7
- package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +4 -1
- package/dist/runtime/spots/index.d.ts +14 -20
- package/dist/runtime/spots/index.js +302 -176
- package/dist/runtime/spots/spot-activation-registry.d.ts +3 -5
- package/dist/runtime/spots/spot-activation-registry.js +14 -50
- package/dist/runtime/spots/spot-activation-state.d.ts +1 -1
- package/dist/runtime/spots/spot-activation-state.js +2 -2
- package/dist/runtime/spots/spot-activation.d.ts +3 -4
- package/dist/runtime/spots/spot-activation.js +49 -32
- package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
- package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
- package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
- package/dist/runtime/spots/spot-actor-join-dispatch.js +4 -52
- package/dist/runtime/spots/spot-actor-membership.d.ts +4 -6
- package/dist/runtime/spots/spot-actor-membership.js +22 -45
- package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
- package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
- package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
- package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
- package/dist/runtime/spots/spot-context.d.ts +2 -2
- package/dist/runtime/spots/spot-entry-activation.d.ts +2 -2
- package/dist/runtime/spots/spot-entry-activation.js +9 -20
- package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
- package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
- package/dist/runtime/spots/spot-manager-public.js +5 -4
- package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
- package/dist/runtime/spots/spot-node-runtime-manager.d.ts +19 -18
- package/dist/runtime/spots/spot-node-runtime-manager.js +67 -72
- package/dist/runtime/spots/spot-outbound.d.ts +7 -8
- package/dist/runtime/spots/spot-outbound.js +21 -23
- package/dist/runtime/spots/spot-remote-codec.js +5 -3
- package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
- package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
- package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
- package/dist/runtime/spots/spot-route-replies.js +3 -1
- package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -3
- package/dist/runtime/spots/spot-routed-actor-admission.js +3 -12
- package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +1 -2
- package/dist/runtime/spots/spot-routed-frame-dispatch.js +0 -1
- package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
- package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
- package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -16
- package/dist/runtime/spots/spot-serial-executor.js +2 -2
- package/dist/runtime/spots/spot-serial-turn-executor.d.ts +27 -7
- package/dist/runtime/spots/spot-serial-turn-executor.js +83 -11
- package/dist/runtime/spots/spot-timer.d.ts +3 -2
- package/dist/runtime/streams/actor-session-binding-registry.d.ts +16 -29
- package/dist/runtime/streams/actor-session-binding-registry.js +142 -212
- package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -4
- package/dist/runtime/streams/bound-actor-relay-sender.d.ts +8 -4
- package/dist/runtime/streams/bound-actor-relay-sender.js +65 -41
- package/dist/runtime/streams/bound-session-service.d.ts +7 -0
- package/dist/runtime/streams/bound-session-service.js +12 -2
- package/dist/runtime/streams/index.d.ts +16 -17
- package/dist/runtime/streams/index.js +22 -23
- package/dist/runtime/streams/managed-stream.d.ts +5 -2
- package/dist/runtime/streams/managed-stream.js +20 -13
- package/dist/runtime/streams/native-fallback-bound-session.js +14 -19
- package/dist/runtime/streams/protocol.d.ts +6 -33
- package/dist/runtime/streams/protocol.js +38 -110
- package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
- package/dist/runtime/streams/session-actor-coordinator.js +12 -4
- package/dist/runtime/streams/session-calls.d.ts +6 -8
- package/dist/runtime/streams/session-calls.js +6 -22
- package/dist/runtime/streams/session-context.d.ts +10 -10
- package/dist/runtime/streams/session-context.js +25 -10
- package/dist/runtime/streams/session-requests.js +2 -1
- package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
- package/dist/runtime/streams/stream-frame-factory.js +2 -2
- package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
- package/dist/runtime/streams/stream-session-runtime.js +25 -33
- package/dist/runtime/workers/index.d.ts +2 -2
- package/dist/runtime/workers/index.js +5 -4
- package/package.json +3 -3
- package/src/contracts/Actors/ZLinkActorClient.ts +1 -1
- package/src/contracts/Channels/Calls.ts +1 -1
- package/src/contracts/Common/CoreTypes.ts +7 -0
- package/src/contracts/Common/index.ts +1 -1
- package/src/contracts/Configuration/Builders.ts +0 -1
- package/src/contracts/Configuration/Configs.ts +0 -1
- package/src/contracts/Configuration/InternalDefaults.ts +12 -0
- package/src/contracts/Configuration/Registration.ts +92 -48
- package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
- package/src/contracts/Configuration/RegistrationBuilders.ts +77 -71
- package/src/contracts/Configuration/RegistrationTypes.ts +1 -5
- package/src/contracts/Configuration/RegistrationValidators.ts +19 -17
- package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
- package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
- package/src/contracts/Handlers/JsonContract.ts +14 -4
- package/src/contracts/Locations/Authority.ts +7 -3
- package/src/contracts/Locations/Options.ts +1 -1
- package/src/contracts/Locations/Stores.ts +14 -0
- package/src/contracts/Spots/Contracts.ts +2 -2
- package/src/contracts/Streams/BoundSessionContracts.ts +1 -1
- package/src/contracts/Streams/IZLinkSession.ts +2 -3
- package/src/contracts/Streams/IZLinkSessionActor.ts +2 -6
- package/src/internal.ts +14 -0
- package/src/nest-integration.ts +28 -10
- package/src/runtime/abort.ts +6 -5
- package/src/runtime/activation-admission.ts +2 -8
- package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
- package/src/runtime/actors/actor-client.ts +85 -218
- package/src/runtime/actors/actor-context.ts +39 -33
- package/src/runtime/actors/actor-handoff.ts +24 -22
- package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
- package/src/runtime/actors/actor-local-native-join.ts +172 -174
- package/src/runtime/actors/actor-native-lookup.ts +2 -9
- package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
- package/src/runtime/actors/actor-remote-joiner.ts +9 -11
- package/src/runtime/actors/actor-remote-wire.ts +5 -3
- package/src/runtime/actors/actor-request-deadline.ts +4 -0
- package/src/runtime/actors/actor-retry-delay.ts +2 -1
- package/src/runtime/actors/actor-routed-join-transport.ts +3 -5
- package/src/runtime/actors/actor-runtime-state.ts +85 -247
- package/src/runtime/actors/bound-session-wire.ts +2 -8
- package/src/runtime/actors/deferred-join-completion.ts +10 -6
- package/src/runtime/actors/index.ts +100 -79
- package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
- package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
- package/src/runtime/admission.ts +8 -1
- package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
- package/src/runtime/backend/contracts/index.ts +14 -37
- package/src/runtime/backend/mesh-actor-session-node-adapter.ts +2 -18
- package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
- package/src/runtime/backend/node/node-backend-adapter-support.ts +67 -10
- package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +0 -2
- package/src/runtime/backend/node/node-event-loop-poller.ts +8 -12
- package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
- package/src/runtime/backend/node/node-raw-binding-port.ts +44 -49
- package/src/runtime/backend/node/node-raw-mesh-backend.ts +227 -170
- package/src/runtime/backend/node/node-socket-backend-adapter.ts +4 -3
- package/src/runtime/backend/raw-binding-port.ts +1 -1
- package/src/runtime/backend/runtime-values.ts +4 -1
- package/src/runtime/channels/channel-clients.ts +139 -102
- package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
- package/src/runtime/channels/channel-envelope.ts +74 -57
- package/src/runtime/channels/channel-outbound-operations.ts +40 -55
- package/src/runtime/channels/channel-receive-loops.ts +39 -7
- package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
- package/src/runtime/channels/channel-runtime-manager.ts +12 -30
- package/src/runtime/channels/channel-socket-options.ts +8 -15
- package/src/runtime/channels/channel-socket-registry.ts +291 -196
- package/src/runtime/channels/channel-transports.ts +168 -145
- package/src/runtime/channels/client-server-location-runtime.ts +17 -17
- package/src/runtime/channels/client-server-service-wire.ts +40 -12
- package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
- package/src/runtime/channels/fanout-location-runtime.ts +172 -91
- package/src/runtime/channels/local-spot-route-transport.ts +1 -5
- package/src/runtime/channels/router-socket-spot-route-transport.ts +2 -6
- package/src/runtime/channels/source-spot-router.ts +2 -9
- package/src/runtime/channels/spot-direct-envelope.ts +1 -1
- package/src/runtime/channels/spot-node-route-transport.ts +7 -9
- package/src/runtime/channels/spot-route-bridge-transport.ts +5 -12
- package/src/runtime/channels/spot-route-dispatch-strategy.ts +11 -30
- package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
- package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
- package/src/runtime/diagnostics/flow-context.ts +16 -2
- package/src/runtime/diagnostics/index.ts +27 -17
- package/src/runtime/diagnostics/message-flow.ts +15 -25
- package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
- package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
- package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
- package/src/runtime/disposal.ts +19 -0
- package/src/runtime/execution/index.ts +60 -20
- package/src/runtime/execution/serial-execution-queue.ts +131 -18
- package/src/runtime/execution/state-lane.ts +142 -4
- package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
- package/src/runtime/foundation/event-loop-resources.ts +5 -122
- package/src/runtime/foundation/operation-identity.ts +11 -5
- package/src/runtime/foundation/operation-registry.ts +33 -50
- package/src/runtime/foundation/raw-service-mesh-runtime.ts +127 -125
- package/src/runtime/foundation/runtime-state-projections.ts +9 -1
- package/src/runtime/foundation/service-authority-payload-codec.ts +31 -13
- package/src/runtime/foundation/service-discovery-registry.ts +32 -3
- package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
- package/src/runtime/foundation/service-liveness-registry.ts +2 -1
- package/src/runtime/foundation/service-maintenance-runtime.ts +0 -10
- package/src/runtime/foundation/service-metadata-codec.ts +2 -2
- package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
- package/src/runtime/foundation/service-relocation-object-owner.ts +5 -2
- package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
- package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
- package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -17
- package/src/runtime/foundation/service-stateful-registry.ts +14 -2
- package/src/runtime/foundation/service-stateful-runtime.ts +322 -276
- package/src/runtime/foundation/service-stateful-wire-codec.ts +128 -80
- package/src/runtime/foundation/service-topology-registry.ts +23 -32
- package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
- package/src/runtime/foundation/service-wire-codec.ts +15 -8
- package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
- package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
- package/src/runtime/framework-errors-internal.ts +380 -134
- package/src/runtime/handlers/handler-instance-scope.ts +68 -95
- package/src/runtime/host/actor-packet-relay.ts +63 -160
- package/src/runtime/host/actor-placement-coordinator.ts +8 -5
- package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
- package/src/runtime/host/actor-transfer-runtime.ts +180 -260
- package/src/runtime/host/application-job-queue.ts +28 -34
- package/src/runtime/host/bound-session-relay.ts +1 -2
- package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
- package/src/runtime/host/index.ts +327 -320
- package/src/runtime/host/instance-activation-authority.ts +89 -109
- package/src/runtime/host/location-runtime-owner.ts +4 -2
- package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
- package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
- package/src/runtime/host/remote-bound-session-relay.ts +16 -57
- package/src/runtime/host/route-mesh-runtime.ts +228 -271
- package/src/runtime/host/runtime-shutdown.ts +17 -21
- package/src/runtime/host/service-relocation-control.ts +14 -1
- package/src/runtime/host/service-relocation-host-runtime.ts +699 -561
- package/src/runtime/host/spot-address-transport.ts +175 -356
- package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
- package/src/runtime/host/spot-runtime-options-factory.ts +73 -22
- package/src/runtime/host/user-spot-creation-coordinator.ts +36 -22
- package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
- package/src/runtime/locations/authority-key-codec.ts +7 -3
- package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
- package/src/runtime/locations/creation-operation-id.ts +6 -3
- package/src/runtime/locations/domain-store-contract.ts +12 -3
- package/src/runtime/locations/in-memory-authority-store.ts +44 -15
- package/src/runtime/locations/in-memory-location-store.ts +50 -39
- package/src/runtime/locations/in-memory-provider-location-store.ts +100 -25
- package/src/runtime/locations/key-codec.ts +3 -2
- package/src/runtime/locations/lease-tracker.ts +8 -14
- package/src/runtime/locations/lifecycle.ts +13 -43
- package/src/runtime/locations/location-store-failure.ts +4 -0
- package/src/runtime/locations/location-store-pages.ts +18 -0
- package/src/runtime/locations/location-store-repository.ts +457 -482
- package/src/runtime/locations/relocation-blob.ts +17 -6
- package/src/runtime/locations/resolvers.ts +75 -49
- package/src/runtime/locations/runtime.ts +220 -110
- package/src/runtime/locations/spot-location-claims.ts +58 -1
- package/src/runtime/messaging/payload-codec.ts +35 -24
- package/src/runtime/messaging/request-deadline.ts +58 -0
- package/src/runtime/messaging/submission-result.ts +72 -2
- package/src/runtime/protocol/service_wire_codec.generated.ts +18 -8
- package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
- package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +4 -1
- package/src/runtime/spots/index.ts +433 -229
- package/src/runtime/spots/spot-activation-registry.ts +30 -69
- package/src/runtime/spots/spot-activation-state.ts +2 -2
- package/src/runtime/spots/spot-activation.ts +67 -37
- package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
- package/src/runtime/spots/spot-actor-join-dispatch.ts +24 -77
- package/src/runtime/spots/spot-actor-membership.ts +40 -72
- package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
- package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
- package/src/runtime/spots/spot-context.ts +3 -3
- package/src/runtime/spots/spot-entry-activation.ts +13 -30
- package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
- package/src/runtime/spots/spot-manager-public.ts +21 -17
- package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
- package/src/runtime/spots/spot-node-runtime-manager.ts +136 -125
- package/src/runtime/spots/spot-outbound.ts +59 -47
- package/src/runtime/spots/spot-remote-codec.ts +7 -3
- package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
- package/src/runtime/spots/spot-route-replies.ts +6 -4
- package/src/runtime/spots/spot-routed-actor-admission.ts +13 -26
- package/src/runtime/spots/spot-routed-frame-dispatch.ts +2 -3
- package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
- package/src/runtime/spots/spot-runtime-ports.ts +5 -27
- package/src/runtime/spots/spot-serial-executor.ts +2 -2
- package/src/runtime/spots/spot-serial-turn-executor.ts +112 -11
- package/src/runtime/spots/spot-timer.ts +3 -2
- package/src/runtime/streams/actor-session-binding-registry.ts +179 -269
- package/src/runtime/streams/actor-session-binding-runtime-owner.ts +0 -8
- package/src/runtime/streams/bound-actor-relay-sender.ts +98 -66
- package/src/runtime/streams/bound-session-service.ts +22 -2
- package/src/runtime/streams/index.ts +78 -68
- package/src/runtime/streams/managed-stream.ts +32 -23
- package/src/runtime/streams/native-fallback-bound-session.ts +14 -28
- package/src/runtime/streams/protocol.ts +34 -88
- package/src/runtime/streams/session-actor-coordinator.ts +17 -5
- package/src/runtime/streams/session-calls.ts +11 -36
- package/src/runtime/streams/session-context.ts +60 -25
- package/src/runtime/streams/session-requests.ts +2 -1
- package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
- package/src/runtime/streams/stream-frame-factory.ts +2 -3
- package/src/runtime/streams/stream-session-runtime.ts +57 -59
- package/src/runtime/workers/index.ts +13 -12
- package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
- package/dist/runtime/actors/post-commit-actor-location.js +0 -72
- package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
- package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
- package/src/runtime/actors/post-commit-actor-location.ts +0 -121
- package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { AutoHwmProfile } from '@zlink-systems/zlink';
|
|
1
2
|
import type { ZLinkFrameworkOptions } from '../../contracts';
|
|
3
|
+
import { ZLINK_MAX_IDENTITY_TEXT_BYTES } from '../Common/CoreTypes';
|
|
2
4
|
import { ZLinkApplicationJobQueueProfile } from '../Dispatch';
|
|
3
|
-
|
|
5
|
+
import { zlinkDefaultLocationOptions } from '../Locations/Options';
|
|
4
6
|
import { createFrameworkOptions } from './RegistrationBuilders';
|
|
5
|
-
export { createFrameworkOptions } from './RegistrationBuilders';
|
|
6
7
|
import { createCodecRegistry } from './RegistrationCodecRegistry';
|
|
7
8
|
import {
|
|
8
9
|
actorFactoriesFromSpotNodes,
|
|
@@ -19,18 +20,22 @@ import {
|
|
|
19
20
|
toSpotPublisherClientSet,
|
|
20
21
|
toStreamNodeMap
|
|
21
22
|
} from './RegistrationNormalizers';
|
|
23
|
+
import type {
|
|
24
|
+
ZLinkFrameworkRegistration,
|
|
25
|
+
ZLinkFrameworkRegistrationOptions
|
|
26
|
+
} from './RegistrationTypes';
|
|
27
|
+
import { validateFrameworkRegistration } from './RegistrationValidators';
|
|
28
|
+
|
|
29
|
+
export const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
|
|
30
|
+
export { ZLinkConfigurationException } from './ConfigurationException';
|
|
31
|
+
export { createFrameworkOptions } from './RegistrationBuilders';
|
|
22
32
|
export {
|
|
23
33
|
hasActorManager,
|
|
24
34
|
hasSpotNode,
|
|
25
35
|
hasSpotPublisherClient,
|
|
26
36
|
requirePositiveInteger
|
|
27
37
|
} from './RegistrationNormalizers';
|
|
28
|
-
import type {
|
|
29
|
-
ZLinkFrameworkRegistration,
|
|
30
|
-
ZLinkFrameworkRegistrationOptions
|
|
31
|
-
} from './RegistrationTypes';
|
|
32
38
|
export * from './RegistrationTypes';
|
|
33
|
-
import { validateFrameworkRegistration } from './RegistrationValidators';
|
|
34
39
|
export { validateFrameworkRegistration };
|
|
35
40
|
export {
|
|
36
41
|
normalizeEndpoint,
|
|
@@ -38,11 +43,18 @@ export {
|
|
|
38
43
|
parseEndpointHostPort
|
|
39
44
|
} from './EndpointNotation';
|
|
40
45
|
|
|
41
|
-
const
|
|
42
|
-
const DEFAULT_SESSION_REPLACEMENT_CALLBACK_TIMEOUT_MS = 30_000;
|
|
46
|
+
export const DEFAULT_SESSION_REPLACEMENT_CALLBACK_TIMEOUT_MS = 30_000;
|
|
43
47
|
|
|
44
48
|
export function createFrameworkRegistration(
|
|
45
49
|
options: ZLinkFrameworkRegistrationOptions = {}
|
|
50
|
+
): ZLinkFrameworkRegistration {
|
|
51
|
+
const registration = normalizeFrameworkRegistration(options);
|
|
52
|
+
validateFrameworkRegistration(registration, options);
|
|
53
|
+
return registration;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function normalizeFrameworkRegistration(
|
|
57
|
+
options: ZLinkFrameworkRegistrationOptions
|
|
46
58
|
): ZLinkFrameworkRegistration {
|
|
47
59
|
const codecRegistry = createCodecRegistry(options.codecs);
|
|
48
60
|
const network = normalizeNetworkOptions(options.network);
|
|
@@ -66,7 +78,7 @@ export function createFrameworkRegistration(
|
|
|
66
78
|
messageFollowDurationMs: normalizeNonNegativeInteger(
|
|
67
79
|
options.messageFollowDurationMs,
|
|
68
80
|
'messageFollowDurationMs',
|
|
69
|
-
|
|
81
|
+
zlinkDefaultLocationOptions.messageFollowDurationMs
|
|
70
82
|
),
|
|
71
83
|
sessionReplacementCallbackTimeoutMs: normalizePositiveInteger(
|
|
72
84
|
options.sessionReplacementCallbackTimeoutMs,
|
|
@@ -94,53 +106,75 @@ export function createFrameworkRegistration(
|
|
|
94
106
|
applicationJobQueue: normalizeApplicationJobQueue(options.applicationJobQueue),
|
|
95
107
|
locations: normalizeLocationRegistration(options.locations)
|
|
96
108
|
};
|
|
97
|
-
validateFrameworkRegistration(registration, options);
|
|
98
109
|
return registration;
|
|
99
110
|
}
|
|
100
111
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
112
|
+
export const MAX_QUEUED_APPLICATION_JOBS = 2_147_483_647n;
|
|
113
|
+
export const DEFAULT_PAUSE_THRESHOLD_PERCENT = 80;
|
|
114
|
+
export const DEFAULT_RESUME_THRESHOLD_PERCENT = 60;
|
|
115
|
+
export const APPLICATION_JOB_QUEUE_PERCENT_SCALE = 100;
|
|
116
|
+
|
|
117
|
+
export function isKnownApplicationJobQueueProfile(
|
|
118
|
+
value: unknown
|
|
119
|
+
): value is ZLinkApplicationJobQueueProfile {
|
|
120
|
+
return Object.values(ZLinkApplicationJobQueueProfile).includes(
|
|
121
|
+
value as ZLinkApplicationJobQueueProfile
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export function validateApplicationJobQueueMaximum(
|
|
126
|
+
value: bigint | undefined,
|
|
127
|
+
createError: (message: string) => Error
|
|
128
|
+
): void {
|
|
109
129
|
if (
|
|
110
|
-
|
|
111
|
-
(typeof
|
|
112
|
-
maxQueuedApplicationJobs < 1n ||
|
|
113
|
-
maxQueuedApplicationJobs > 2_147_483_647n)
|
|
130
|
+
value !== undefined &&
|
|
131
|
+
(typeof value !== 'bigint' || value < 1n || value > MAX_QUEUED_APPLICATION_JOBS)
|
|
114
132
|
) {
|
|
115
|
-
throw
|
|
116
|
-
|
|
133
|
+
throw createError(
|
|
134
|
+
`maxQueuedApplicationJobs must be a bigint in the range 1..${MAX_QUEUED_APPLICATION_JOBS}.`
|
|
117
135
|
);
|
|
118
136
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export function validateApplicationJobQueuePressureThresholds(
|
|
140
|
+
pause: number,
|
|
141
|
+
resume: number,
|
|
142
|
+
createError: (message: string) => Error
|
|
143
|
+
): void {
|
|
144
|
+
if (!Number.isInteger(pause) || pause < 1 || pause > APPLICATION_JOB_QUEUE_PERCENT_SCALE) {
|
|
145
|
+
throw createError(
|
|
146
|
+
`pauseThresholdPercent must be an integer in the range 1..${APPLICATION_JOB_QUEUE_PERCENT_SCALE}.`
|
|
128
147
|
);
|
|
129
148
|
}
|
|
130
|
-
if (
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
resumeThresholdPercent > 99
|
|
134
|
-
) {
|
|
135
|
-
throw new TypeError(
|
|
136
|
-
'applicationJobQueue.resumeThresholdPercent must be an integer in the range 0..99.'
|
|
149
|
+
if (!Number.isInteger(resume) || resume < 0 || resume >= APPLICATION_JOB_QUEUE_PERCENT_SCALE) {
|
|
150
|
+
throw createError(
|
|
151
|
+
`resumeThresholdPercent must be an integer in the range 0..${APPLICATION_JOB_QUEUE_PERCENT_SCALE - 1}.`
|
|
137
152
|
);
|
|
138
153
|
}
|
|
139
|
-
if (
|
|
140
|
-
throw
|
|
141
|
-
'applicationJobQueue.resumeThresholdPercent must be less than pauseThresholdPercent.'
|
|
142
|
-
);
|
|
154
|
+
if (resume >= pause) {
|
|
155
|
+
throw createError('resumeThresholdPercent must be less than pauseThresholdPercent.');
|
|
143
156
|
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function normalizeApplicationJobQueue(
|
|
160
|
+
value: ZLinkFrameworkRegistrationOptions['applicationJobQueue']
|
|
161
|
+
): NonNullable<ZLinkFrameworkRegistrationOptions['applicationJobQueue']> {
|
|
162
|
+
const profile = value?.profile ?? ZLinkApplicationJobQueueProfile.Balanced;
|
|
163
|
+
if (!isKnownApplicationJobQueueProfile(profile)) {
|
|
164
|
+
throw new TypeError('applicationJobQueue.profile must be a supported profile.');
|
|
165
|
+
}
|
|
166
|
+
const maxQueuedApplicationJobs = value?.maxQueuedApplicationJobs;
|
|
167
|
+
validateApplicationJobQueueMaximum(
|
|
168
|
+
maxQueuedApplicationJobs,
|
|
169
|
+
(message) => new TypeError(`applicationJobQueue.${message}`)
|
|
170
|
+
);
|
|
171
|
+
const pauseThresholdPercent = value?.pauseThresholdPercent ?? DEFAULT_PAUSE_THRESHOLD_PERCENT;
|
|
172
|
+
const resumeThresholdPercent = value?.resumeThresholdPercent ?? DEFAULT_RESUME_THRESHOLD_PERCENT;
|
|
173
|
+
validateApplicationJobQueuePressureThresholds(
|
|
174
|
+
pauseThresholdPercent,
|
|
175
|
+
resumeThresholdPercent,
|
|
176
|
+
(message) => new TypeError(`applicationJobQueue.${message}`)
|
|
177
|
+
);
|
|
144
178
|
return Object.freeze({
|
|
145
179
|
profile,
|
|
146
180
|
maxQueuedApplicationJobs,
|
|
@@ -154,7 +188,10 @@ function normalizeCoreHwm(
|
|
|
154
188
|
): ZLinkFrameworkRegistrationOptions['coreHwm'] {
|
|
155
189
|
if (value === undefined) return undefined;
|
|
156
190
|
const { profile, memoryLimitBytes, budgetBytes } = value;
|
|
157
|
-
if (
|
|
191
|
+
if (
|
|
192
|
+
profile !== undefined &&
|
|
193
|
+
(!Number.isInteger(profile) || profile < 0 || profile > AutoHwmProfile.Throughput)
|
|
194
|
+
) {
|
|
158
195
|
throw new TypeError('coreHwm.profile must be a Core Auto HWM profile value.');
|
|
159
196
|
}
|
|
160
197
|
for (const [name, bytes] of [
|
|
@@ -183,8 +220,15 @@ function normalizeApplicationVersion(value: bigint | undefined): bigint {
|
|
|
183
220
|
function normalizeMaintenanceWave(value: string | undefined): string | undefined {
|
|
184
221
|
if (value === undefined) return undefined;
|
|
185
222
|
const byteLength = typeof value === 'string' ? new TextEncoder().encode(value).byteLength : 0;
|
|
186
|
-
if (
|
|
187
|
-
|
|
223
|
+
if (
|
|
224
|
+
typeof value !== 'string' ||
|
|
225
|
+
byteLength === 0 ||
|
|
226
|
+
byteLength > ZLINK_MAX_IDENTITY_TEXT_BYTES ||
|
|
227
|
+
value.includes('\0')
|
|
228
|
+
) {
|
|
229
|
+
throw new TypeError(
|
|
230
|
+
`maintenanceWave must be a 1..${ZLINK_MAX_IDENTITY_TEXT_BYTES} byte UTF-8 string without NUL.`
|
|
231
|
+
);
|
|
188
232
|
}
|
|
189
233
|
return value;
|
|
190
234
|
}
|
|
@@ -1,5 +1,44 @@
|
|
|
1
|
-
import type { Type, ZLinkEntrySpot, ZLinkSpot } from '../../contracts';
|
|
1
|
+
import type { Type, ZLinkEntrySpot, ZLinkSpot, ZLinkRelocationStore } from '../../contracts';
|
|
2
|
+
import { ZLINK_MAX_ROUTING_ID_BYTES } from '../Common/CoreTypes';
|
|
2
3
|
import { ZLinkConfigurationException } from './ConfigurationException';
|
|
4
|
+
export const MAX_LISTENER_PORT = 65_535;
|
|
5
|
+
|
|
6
|
+
export function registerRelocationStore(
|
|
7
|
+
options: { relocationStoreInstance?: ZLinkRelocationStore },
|
|
8
|
+
store: ZLinkRelocationStore
|
|
9
|
+
): void {
|
|
10
|
+
if (options.relocationStoreInstance !== undefined) {
|
|
11
|
+
throw new ZLinkConfigurationException('Relocation Store is already registered.');
|
|
12
|
+
}
|
|
13
|
+
options.relocationStoreInstance = store;
|
|
14
|
+
}
|
|
15
|
+
export function isValidListenerPort(value: number): boolean {
|
|
16
|
+
return Number.isInteger(value) && value >= 0 && value <= MAX_LISTENER_PORT;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const ZLINK_MAX_CAPACITY = 0x7fff_ffff;
|
|
20
|
+
export function isValidPositiveCapacity(value: number): boolean {
|
|
21
|
+
return Number.isSafeInteger(value) && value > 0 && value <= ZLINK_MAX_CAPACITY;
|
|
22
|
+
}
|
|
23
|
+
export function isValidCapacity(value: number): boolean {
|
|
24
|
+
return Number.isSafeInteger(value) && value >= 0 && value <= ZLINK_MAX_CAPACITY;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const ZLINK_DEFAULT_PUBLIC_WEIGHT = 100;
|
|
28
|
+
export const ZLINK_MAX_PUBLIC_WEIGHT = 10_000;
|
|
29
|
+
|
|
30
|
+
export function isValidPublicWeight(value: number): boolean {
|
|
31
|
+
return Number.isInteger(value) && value >= 0 && value <= ZLINK_MAX_PUBLIC_WEIGHT;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function requirePublicWeight(value: number, label: string): number {
|
|
35
|
+
if (!isValidPublicWeight(value)) {
|
|
36
|
+
throw new ZLinkConfigurationException(
|
|
37
|
+
`${label} must be an integer in 0..${ZLINK_MAX_PUBLIC_WEIGHT}.`
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
3
42
|
|
|
4
43
|
export function validateMessageFollowDuration(timeoutMs: number): number {
|
|
5
44
|
if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 0) {
|
|
@@ -69,7 +108,10 @@ export function validateRoutingIdPrefix(prefix: string): string {
|
|
|
69
108
|
if (prefix.trim().length === 0 || prefix !== prefix.trim()) {
|
|
70
109
|
throw new ZLinkConfigurationException('Routing-id prefix must not be empty or padded.');
|
|
71
110
|
}
|
|
72
|
-
if (
|
|
111
|
+
if (
|
|
112
|
+
Buffer.byteLength(`${prefix}-00000000-0000-0000-0000-000000000000`, 'utf8') >
|
|
113
|
+
ZLINK_MAX_ROUTING_ID_BYTES
|
|
114
|
+
) {
|
|
73
115
|
throw new ZLinkConfigurationException(
|
|
74
116
|
'Routing-id prefix is too long for a generated routing id.'
|
|
75
117
|
);
|
|
@@ -1,64 +1,85 @@
|
|
|
1
|
+
import { AutoHwmProfile } from '@zlink-systems/zlink';
|
|
1
2
|
import type {
|
|
2
3
|
RoutingId,
|
|
3
4
|
Type,
|
|
4
5
|
ZLinkActor,
|
|
5
6
|
ZLinkActorFactory,
|
|
7
|
+
ZLinkClientServerChannelClientBuilder,
|
|
8
|
+
ZLinkClientServerChannelRoleBuilder,
|
|
9
|
+
ZLinkClientServerChannelServerBuilder,
|
|
6
10
|
ZLinkEntrySpot,
|
|
7
11
|
ZLinkFanoutChannelBuilder,
|
|
8
12
|
ZLinkFrameworkOptions,
|
|
13
|
+
ZLinkHandlerFilter,
|
|
14
|
+
ZLinkInstanceSpot,
|
|
15
|
+
ZLinkLocationOptionValues,
|
|
9
16
|
ZLinkMeshChannelBuilder,
|
|
10
17
|
ZLinkMeshChannelClientBuilder,
|
|
11
18
|
ZLinkMeshChannelServerBuilder,
|
|
12
19
|
ZLinkMeshNodeBuilder,
|
|
20
|
+
ZLinkMeshNodeSocketConfig,
|
|
13
21
|
ZLinkMeshObjectClientBuilder,
|
|
14
22
|
ZLinkMeshObjectRoleBuilder,
|
|
15
23
|
ZLinkMeshObjectServerBuilder,
|
|
16
|
-
ZLinkMeshNodeSocketConfig,
|
|
17
|
-
ZLinkNetworkOptions,
|
|
18
24
|
ZLinkMeshPeerConnection,
|
|
19
25
|
ZLinkMeshPeerConnections,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
ZLinkInstanceSpot,
|
|
26
|
+
ZLinkNetworkOptions,
|
|
27
|
+
ZLinkSession,
|
|
28
|
+
ZLinkSessionFactory,
|
|
24
29
|
ZLinkSpot,
|
|
25
|
-
|
|
26
|
-
ZLinkClientServerChannelRoleBuilder,
|
|
27
|
-
ZLinkClientServerChannelServerBuilder,
|
|
30
|
+
ZLinkSpotPublisherConfig,
|
|
28
31
|
ZLinkStreamCompressionBuilder,
|
|
29
32
|
ZLinkStreamCompressionCodec,
|
|
30
|
-
ZLinkStreamSocketConfig,
|
|
31
33
|
ZLinkStreamNodeBuilder,
|
|
32
|
-
|
|
33
|
-
ZLinkSessionFactory
|
|
34
|
+
ZLinkStreamSocketConfig
|
|
34
35
|
} from '../../contracts';
|
|
35
|
-
import type {
|
|
36
|
-
ZLinkActorFactoryBuilder,
|
|
37
|
-
ZLinkActorRelocationAdapter,
|
|
38
|
-
ZLinkInstanceSpotFactoryBuilder,
|
|
39
|
-
ZLinkSpotRelocationAdapter,
|
|
40
|
-
ZLinkUserSpotFactoryBuilder
|
|
41
|
-
} from './ObjectRoles';
|
|
42
|
-
import { ZLinkSpotRelocationCoordinationMode, ZLinkUserSpotExecutionMode } from './ObjectRoles';
|
|
43
|
-
import type { ZLinkSpotNodeBuilder } from '../Spots/Builders';
|
|
44
|
-
import { readZLinkDecoratorMetadata } from '../Handlers/Attributes';
|
|
45
36
|
import type { ZLinkCodecRegistryBuilder } from '../Codecs';
|
|
46
|
-
import
|
|
47
|
-
ZLinkDispatchOptions,
|
|
48
|
-
ZLinkDispatchOptionsBuilder,
|
|
49
|
-
ZLinkInboundDispatchOptions,
|
|
50
|
-
ZLinkMessageFlowLogMode
|
|
51
|
-
} from '../Dispatch';
|
|
37
|
+
import { ZLINK_MAX_STABLE_TYPE_BYTES } from '../Common/CoreTypes';
|
|
52
38
|
import {
|
|
39
|
+
type ZLinkDispatchOptions,
|
|
40
|
+
type ZLinkDispatchOptionsBuilder,
|
|
41
|
+
type ZLinkInboundDispatchOptions,
|
|
42
|
+
type ZLinkMessageFlowLogMode,
|
|
53
43
|
ZLinkApplicationJobQueueProfile,
|
|
54
44
|
ZLinkCoreHwmProfile,
|
|
55
45
|
ZLinkUnhandledDispatchAction
|
|
56
46
|
} from '../Dispatch';
|
|
57
|
-
|
|
58
|
-
import {
|
|
59
|
-
import type { ZLinkEndpointConnections } from './Connections';
|
|
47
|
+
|
|
48
|
+
import { readZLinkDecoratorMetadata } from '../Handlers/Attributes';
|
|
60
49
|
import type { ZLinkLocationOptions, ZLinkLocationStore, ZLinkRelocationStore } from '../Locations';
|
|
50
|
+
import type { ZLinkSpotNodeBuilder } from '../Spots/Builders';
|
|
61
51
|
import { ZLinkConfigurationException } from './ConfigurationException';
|
|
52
|
+
import type { ZLinkEndpointConnections } from './Connections';
|
|
53
|
+
import { requireMessageFlowLogMode, requireTraceSampleRate } from './DiagnosticsValidation';
|
|
54
|
+
import { normalizeEndpoint } from './EndpointNotation';
|
|
55
|
+
import { requirePublicFanoutTopic } from './FanoutTopic';
|
|
56
|
+
import { DEFAULT_STREAM_NODE_MAX_MESSAGE_SIZE } from './InternalDefaults';
|
|
57
|
+
import {
|
|
58
|
+
type ZLinkActorFactoryBuilder,
|
|
59
|
+
type ZLinkActorRelocationAdapter,
|
|
60
|
+
type ZLinkInstanceSpotFactoryBuilder,
|
|
61
|
+
type ZLinkSpotRelocationAdapter,
|
|
62
|
+
type ZLinkUserSpotFactoryBuilder,
|
|
63
|
+
ZLinkSpotRelocationCoordinationMode,
|
|
64
|
+
ZLinkUserSpotExecutionMode
|
|
65
|
+
} from './ObjectRoles';
|
|
66
|
+
|
|
67
|
+
import {
|
|
68
|
+
MAX_LISTENER_PORT,
|
|
69
|
+
ZLINK_MAX_CAPACITY,
|
|
70
|
+
isValidCapacity,
|
|
71
|
+
isValidListenerPort,
|
|
72
|
+
isValidPositiveCapacity,
|
|
73
|
+
registerActorFactory,
|
|
74
|
+
registerEntrySpot,
|
|
75
|
+
registerRelocationStore,
|
|
76
|
+
registerSpotFactory,
|
|
77
|
+
requirePublicWeight,
|
|
78
|
+
validateActorTransferTimeout,
|
|
79
|
+
validateMessageFollowDuration,
|
|
80
|
+
validateRoutingIdPrefix,
|
|
81
|
+
validateSessionReplacementCallbackTimeout
|
|
82
|
+
} from './RegistrationBuilderPolicy';
|
|
62
83
|
import {
|
|
63
84
|
RegistrationCodecRegistryBuilder,
|
|
64
85
|
type MutableCodecRegistryOptions
|
|
@@ -68,14 +89,12 @@ import {
|
|
|
68
89
|
normalizeOptionalPositiveInteger,
|
|
69
90
|
typeMapToRecord
|
|
70
91
|
} from './RegistrationNormalizers';
|
|
71
|
-
import { normalizeEndpoint } from './EndpointNotation';
|
|
72
|
-
import { DEFAULT_STREAM_NODE_MAX_MESSAGE_SIZE } from './InternalDefaults';
|
|
73
92
|
import type {
|
|
74
|
-
ZLinkChannelPublishHandlerRegistration,
|
|
75
93
|
ZLinkActorFactoryConfiguration,
|
|
76
94
|
ZLinkApplicationJobQueueOptions,
|
|
77
|
-
|
|
95
|
+
ZLinkChannelPublishHandlerRegistration,
|
|
78
96
|
ZLinkCoreHwmOptions,
|
|
97
|
+
ZLinkFrameworkRegistrationOptions,
|
|
79
98
|
ZLinkInstanceSpotFactoryConfiguration,
|
|
80
99
|
ZLinkRelocationConfiguration,
|
|
81
100
|
ZLinkSpotRouterPeerConnectionOptions,
|
|
@@ -83,17 +102,7 @@ import type {
|
|
|
83
102
|
ZLinkUserSpotFactoryConfiguration,
|
|
84
103
|
ZLinkWorkerOptions
|
|
85
104
|
} from './RegistrationTypes';
|
|
86
|
-
import {
|
|
87
|
-
validateRoutingIdPrefix,
|
|
88
|
-
registerActorFactory,
|
|
89
|
-
registerEntrySpot,
|
|
90
|
-
registerSpotFactory,
|
|
91
|
-
validateActorTransferTimeout,
|
|
92
|
-
validateMessageFollowDuration,
|
|
93
|
-
validateSessionReplacementCallbackTimeout
|
|
94
|
-
} from './RegistrationBuilderPolicy';
|
|
95
|
-
import { requireMessageFlowLogMode, requireTraceSampleRate } from './DiagnosticsValidation';
|
|
96
|
-
import { requirePublicFanoutTopic } from './FanoutTopic';
|
|
105
|
+
import { endpointConnections } from './RuntimeEndpointConnections';
|
|
97
106
|
|
|
98
107
|
export function createFrameworkOptions(
|
|
99
108
|
configure: (options: ZLinkFrameworkOptions) => void
|
|
@@ -144,7 +153,7 @@ class ZLinkFrameworkOptionsBuilder implements ZLinkFrameworkOptions {
|
|
|
144
153
|
|
|
145
154
|
addRelocationStore(store: ZLinkRelocationStore): this {
|
|
146
155
|
this.options.locations ??= { options: {} };
|
|
147
|
-
this.options.locations
|
|
156
|
+
registerRelocationStore(this.options.locations, store);
|
|
148
157
|
return this;
|
|
149
158
|
}
|
|
150
159
|
|
|
@@ -617,9 +626,9 @@ class DefaultClientServerChannelServerBuilder implements ZLinkClientServerChanne
|
|
|
617
626
|
) {}
|
|
618
627
|
|
|
619
628
|
listen(port = 0): this {
|
|
620
|
-
if (!
|
|
629
|
+
if (!isValidListenerPort(port)) {
|
|
621
630
|
throw new ZLinkConfigurationException(
|
|
622
|
-
`ClientServer channel '${this.name}' port must be between 0 and
|
|
631
|
+
`ClientServer channel '${this.name}' port must be between 0 and ${MAX_LISTENER_PORT}.`
|
|
623
632
|
);
|
|
624
633
|
}
|
|
625
634
|
this.server.port = port;
|
|
@@ -894,9 +903,9 @@ class DefaultMeshNodeBuilder implements ZLinkMeshNodeBuilder {
|
|
|
894
903
|
this.node.router.port = undefined;
|
|
895
904
|
return this;
|
|
896
905
|
}
|
|
897
|
-
if (!
|
|
906
|
+
if (!isValidListenerPort(endpointOrPort)) {
|
|
898
907
|
throw new ZLinkConfigurationException(
|
|
899
|
-
`RouteMesh '${this.name}' port must be between 0 and
|
|
908
|
+
`RouteMesh '${this.name}' port must be between 0 and ${MAX_LISTENER_PORT}.`
|
|
900
909
|
);
|
|
901
910
|
}
|
|
902
911
|
this.node.router.port = endpointOrPort;
|
|
@@ -1431,22 +1440,28 @@ function endpointList(endpoint: string | readonly string[]): string[] {
|
|
|
1431
1440
|
|
|
1432
1441
|
function requireStableObjectType(value: string, label: string): string {
|
|
1433
1442
|
const byteLength = Buffer.byteLength(value, 'utf8');
|
|
1434
|
-
if (byteLength < 1 || byteLength >
|
|
1435
|
-
throw new ZLinkConfigurationException(
|
|
1443
|
+
if (byteLength < 1 || byteLength > ZLINK_MAX_STABLE_TYPE_BYTES || value.includes('\0')) {
|
|
1444
|
+
throw new ZLinkConfigurationException(
|
|
1445
|
+
`${label} must contain 1..${ZLINK_MAX_STABLE_TYPE_BYTES} UTF-8 bytes and no NUL.`
|
|
1446
|
+
);
|
|
1436
1447
|
}
|
|
1437
1448
|
return value;
|
|
1438
1449
|
}
|
|
1439
1450
|
|
|
1440
1451
|
function requirePositiveCapacity(value: number, label: string): number {
|
|
1441
|
-
if (!
|
|
1442
|
-
throw new ZLinkConfigurationException(
|
|
1452
|
+
if (!isValidPositiveCapacity(value)) {
|
|
1453
|
+
throw new ZLinkConfigurationException(
|
|
1454
|
+
`${label} must be an integer in 1..${ZLINK_MAX_CAPACITY}.`
|
|
1455
|
+
);
|
|
1443
1456
|
}
|
|
1444
1457
|
return value;
|
|
1445
1458
|
}
|
|
1446
1459
|
|
|
1447
1460
|
function requireCapacity(value: number, label: string): number {
|
|
1448
|
-
if (!
|
|
1449
|
-
throw new ZLinkConfigurationException(
|
|
1461
|
+
if (!isValidCapacity(value)) {
|
|
1462
|
+
throw new ZLinkConfigurationException(
|
|
1463
|
+
`${label} must be an integer in 0..${ZLINK_MAX_CAPACITY}.`
|
|
1464
|
+
);
|
|
1450
1465
|
}
|
|
1451
1466
|
return value;
|
|
1452
1467
|
}
|
|
@@ -1458,13 +1473,6 @@ function requireNonNegativeSafeInteger(value: number, label: string): number {
|
|
|
1458
1473
|
return value;
|
|
1459
1474
|
}
|
|
1460
1475
|
|
|
1461
|
-
function requirePublicWeight(value: number, label: string): number {
|
|
1462
|
-
if (!Number.isInteger(value) || value < 0 || value > 10_000) {
|
|
1463
|
-
throw new ZLinkConfigurationException(`${label} must be an integer in 0..10000.`);
|
|
1464
|
-
}
|
|
1465
|
-
return value;
|
|
1466
|
-
}
|
|
1467
|
-
|
|
1468
1476
|
function requireFactoryConfigure(
|
|
1469
1477
|
configure: unknown
|
|
1470
1478
|
): asserts configure is (builder: unknown) => void {
|
|
@@ -1502,9 +1510,9 @@ function validateUserSpotFactoryOptions(
|
|
|
1502
1510
|
}
|
|
1503
1511
|
|
|
1504
1512
|
function validateStableTypeLimit(value: number | undefined): void {
|
|
1505
|
-
if (value !== undefined &&
|
|
1513
|
+
if (value !== undefined && !isValidCapacity(value)) {
|
|
1506
1514
|
throw new ZLinkConfigurationException(
|
|
1507
|
-
|
|
1515
|
+
`stableTypeLimit must be an integer from 0 through ${ZLINK_MAX_CAPACITY}.`
|
|
1508
1516
|
);
|
|
1509
1517
|
}
|
|
1510
1518
|
}
|
|
@@ -1578,7 +1586,6 @@ interface MutableServerCapabilityOptions {
|
|
|
1578
1586
|
weight?: number;
|
|
1579
1587
|
sendHighWaterMark?: number;
|
|
1580
1588
|
receiveHighWaterMark?: number;
|
|
1581
|
-
sendTimeoutMs?: number;
|
|
1582
1589
|
maxMessageSize?: number;
|
|
1583
1590
|
}
|
|
1584
1591
|
|
|
@@ -1586,11 +1593,11 @@ interface MutableClientCapabilityOptions {
|
|
|
1586
1593
|
manualConnections?: string[];
|
|
1587
1594
|
sendHighWaterMark?: number;
|
|
1588
1595
|
receiveHighWaterMark?: number;
|
|
1589
|
-
sendTimeoutMs?: number;
|
|
1590
1596
|
maxMessageSize?: number;
|
|
1591
1597
|
}
|
|
1592
1598
|
|
|
1593
1599
|
interface MutablePublisherCapabilityOptions {
|
|
1600
|
+
sendTimeoutMs?: number;
|
|
1594
1601
|
bind?: string;
|
|
1595
1602
|
bindHost?: string;
|
|
1596
1603
|
advertiseHost?: string;
|
|
@@ -1681,7 +1688,6 @@ interface MutableSpotRouterCapabilityOptions {
|
|
|
1681
1688
|
sendHighWaterMark?: number;
|
|
1682
1689
|
receiveHighWaterMark?: number;
|
|
1683
1690
|
receiveTimeoutMs?: number;
|
|
1684
|
-
sendTimeoutMs?: number;
|
|
1685
1691
|
}
|
|
1686
1692
|
|
|
1687
1693
|
interface MutableSpotPubSubCapabilityOptions {
|
|
@@ -1705,8 +1711,8 @@ function requireRegistrationName(value: string, label: string): void {
|
|
|
1705
1711
|
}
|
|
1706
1712
|
|
|
1707
1713
|
function requireListenerPort(value: number, label: string): number {
|
|
1708
|
-
if (!
|
|
1709
|
-
throw new ZLinkConfigurationException(`${label} must be between 0 and
|
|
1714
|
+
if (!isValidListenerPort(value)) {
|
|
1715
|
+
throw new ZLinkConfigurationException(`${label} must be between 0 and ${MAX_LISTENER_PORT}.`);
|
|
1710
1716
|
}
|
|
1711
1717
|
return value;
|
|
1712
1718
|
}
|
|
@@ -183,7 +183,6 @@ export interface ZLinkChannelOptions {
|
|
|
183
183
|
readonly weight?: number;
|
|
184
184
|
readonly sendHighWaterMark?: number;
|
|
185
185
|
readonly receiveHighWaterMark?: number;
|
|
186
|
-
readonly sendTimeoutMs?: number;
|
|
187
186
|
readonly maxMessageSize?: number;
|
|
188
187
|
};
|
|
189
188
|
readonly subscriber?: ZLinkClientCapabilityOptions;
|
|
@@ -193,11 +192,11 @@ export interface ZLinkClientCapabilityOptions {
|
|
|
193
192
|
readonly manualConnections?: readonly string[];
|
|
194
193
|
readonly sendHighWaterMark?: number;
|
|
195
194
|
readonly receiveHighWaterMark?: number;
|
|
196
|
-
readonly sendTimeoutMs?: number;
|
|
197
195
|
readonly maxMessageSize?: number;
|
|
198
196
|
}
|
|
199
197
|
|
|
200
198
|
export interface ZLinkPublisherCapabilityOptions {
|
|
199
|
+
readonly sendTimeoutMs?: number;
|
|
201
200
|
readonly bind?: string;
|
|
202
201
|
readonly bindHost?: string;
|
|
203
202
|
readonly advertiseHost?: string;
|
|
@@ -213,7 +212,6 @@ export interface ZLinkRouteMeshChannelOptions {
|
|
|
213
212
|
readonly weight?: number;
|
|
214
213
|
readonly sendHighWaterMark?: number;
|
|
215
214
|
readonly receiveHighWaterMark?: number;
|
|
216
|
-
readonly sendTimeoutMs?: number;
|
|
217
215
|
readonly sendHandlers?: readonly ZLinkRouteChannelSendHandlerRegistration[];
|
|
218
216
|
readonly requestHandlers?: readonly ZLinkRouteChannelRequestHandlerRegistration[];
|
|
219
217
|
readonly handlers?: readonly ZLinkRouteChannelHandlerOptions[];
|
|
@@ -229,7 +227,6 @@ export interface ZLinkRouteChannelOptions {
|
|
|
229
227
|
readonly weight?: number;
|
|
230
228
|
readonly sendHighWaterMark?: number;
|
|
231
229
|
readonly receiveHighWaterMark?: number;
|
|
232
|
-
readonly sendTimeoutMs?: number;
|
|
233
230
|
readonly sendHandlers?: readonly ZLinkRouteChannelSendHandlerRegistration[];
|
|
234
231
|
readonly requestHandlers?: readonly ZLinkRouteChannelRequestHandlerRegistration[];
|
|
235
232
|
readonly handlers?: readonly ZLinkRouteChannelHandlerOptions[];
|
|
@@ -429,7 +426,6 @@ export interface ZLinkSpotRouterCapabilityOptions {
|
|
|
429
426
|
readonly sendHighWaterMark?: number;
|
|
430
427
|
readonly receiveHighWaterMark?: number;
|
|
431
428
|
readonly receiveTimeoutMs?: number;
|
|
432
|
-
readonly sendTimeoutMs?: number;
|
|
433
429
|
}
|
|
434
430
|
|
|
435
431
|
export interface ZLinkSpotRouterPeerConnectionOptions {
|