@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,52 +1,71 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ZLinkFrameworkInternalErrorKind,
|
|
3
|
-
createInternalFrameworkException,
|
|
4
|
-
internalFrameworkErrorKind,
|
|
5
|
-
internalFrameworkErrorKindFromWireReply,
|
|
6
|
-
isCanonicalWireReplyTerminal
|
|
7
|
-
} from '../framework-errors-internal';
|
|
8
|
-
import { ZLinkBufferMessage } from '../backend/runtime-message';
|
|
9
|
-
import {
|
|
10
|
-
RequestResult,
|
|
11
|
-
SubmitResult,
|
|
12
|
-
isZLinkBackendResultError,
|
|
13
|
-
type ZLinkBackendMessageLike as MessageLike
|
|
14
|
-
} from '../backend/runtime-values';
|
|
15
|
-
import type { ZLinkBackendMeshNode, ZLinkBackendSpot } from '../backend/contracts';
|
|
16
|
-
import type { ZLinkFrameworkInternalErrorKind as ZLinkFrameworkInternalErrorKindType } from '../framework-errors-internal';
|
|
17
1
|
import { ZLinkFrameworkException } from '../../contracts';
|
|
18
2
|
import type { Message } from '../../contracts/Common/Message';
|
|
19
|
-
import {
|
|
20
|
-
import { ZLinkConfigurationException } from '../configuration';
|
|
21
|
-
import type { ZLinkSpotRouteTarget } from '../spots/spot-routing-internal';
|
|
3
|
+
import { DEFAULT_REQUEST_TIMEOUT_MS } from '../../contracts/Configuration/Registration';
|
|
22
4
|
import { ZLinkSpotKind } from '../../contracts/Spots';
|
|
23
5
|
import { throwIfAborted } from '../abort';
|
|
24
|
-
import type {
|
|
6
|
+
import type { ZLinkBackendMeshNode, ZLinkBackendSpot } from '../backend/contracts';
|
|
25
7
|
import {
|
|
26
8
|
closeMeshCompletion,
|
|
27
9
|
type ZLinkMeshCompletion,
|
|
28
10
|
type ZLinkMeshCompletionTable
|
|
29
11
|
} from '../backend/mesh-completion-table';
|
|
30
|
-
import {
|
|
12
|
+
import { ZLinkBufferMessage } from '../backend/runtime-message';
|
|
31
13
|
import {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
type
|
|
35
|
-
|
|
36
|
-
} from '
|
|
14
|
+
RequestResult,
|
|
15
|
+
isZLinkBackendResultError,
|
|
16
|
+
type ZLinkBackendMessageLike as MessageLike
|
|
17
|
+
} from '../backend/runtime-values';
|
|
18
|
+
import { ZLinkConfigurationException } from '../configuration';
|
|
19
|
+
import type { ZLinkRuntimeMetrics } from '../diagnostics';
|
|
20
|
+
import { runWithOutboundFlow } from '../diagnostics/flow-context';
|
|
21
|
+
import { flowIfEnabled, type ZLinkMessageFlowTracer } from '../diagnostics';
|
|
22
|
+
import {
|
|
23
|
+
ZLinkDispatchErrorSurface,
|
|
24
|
+
ZLinkDispatchMessageKind,
|
|
25
|
+
ZLinkRuntimeMessageFlowOutcome as ZLinkMessageFlowOutcome,
|
|
26
|
+
type ZLinkRuntimeMessageFlowResult
|
|
27
|
+
} from '../../contracts/Dispatch/ZLinkDispatchOptions';
|
|
28
|
+
import { isRemoteChannelErrorReply, requestTerminalResult } from './channel-outbound-operations';
|
|
29
|
+
import { ServiceStaleGenerationError } from '../foundation/service-stateful-registry';
|
|
37
30
|
import type {
|
|
38
31
|
ServiceDirectSpotRouteFence,
|
|
39
32
|
ServiceInstanceRouteFence
|
|
40
33
|
} from '../foundation/service-stateful-wire-codec';
|
|
41
|
-
import {
|
|
42
|
-
|
|
34
|
+
import {
|
|
35
|
+
type ZLinkFrameworkInternalErrorKind as ZLinkFrameworkInternalErrorKindType,
|
|
36
|
+
ZLinkFrameworkInternalErrorKind,
|
|
37
|
+
createInternalFrameworkException,
|
|
38
|
+
internalFrameworkErrorKind,
|
|
39
|
+
internalFrameworkErrorKindFromWireReply,
|
|
40
|
+
isCanonicalWireReplyTerminal,
|
|
41
|
+
requestResultToPublicErrorKind
|
|
42
|
+
} from '../framework-errors-internal';
|
|
43
|
+
|
|
44
|
+
import {
|
|
45
|
+
classifySubmitResult,
|
|
46
|
+
submitToRequestResult,
|
|
47
|
+
ZLinkSubmitStatus,
|
|
48
|
+
type ZLinkSubmitResult
|
|
49
|
+
} from '../messaging/submission-result';
|
|
50
|
+
import { routingIdsEqual, toBackendRoutingId } from '../routing-id';
|
|
51
|
+
import type { ZLinkSpotRouteTarget } from '../spots/spot-routing-internal';
|
|
52
|
+
import type {
|
|
53
|
+
ZLinkSpotRoutedSendOptions,
|
|
54
|
+
ZLinkSpotRoutedRequestOptions
|
|
55
|
+
} from '../spots/spot-outbound';
|
|
56
|
+
import {
|
|
57
|
+
ZLinkChannelMessageKind,
|
|
58
|
+
decodeChannelReply,
|
|
59
|
+
encodeChannelEnvelopeParts,
|
|
60
|
+
newChannelCorrelationId,
|
|
61
|
+
type ZLinkChannelEnvelopeCodecRegistry
|
|
62
|
+
} from './channel-envelope';
|
|
43
63
|
|
|
44
64
|
export interface ZLinkChannelClientTransport {
|
|
45
65
|
send(
|
|
46
66
|
channelName: string,
|
|
47
67
|
packetName: string | undefined,
|
|
48
68
|
message: unknown,
|
|
49
|
-
signal?: AbortSignal,
|
|
50
69
|
metadata?: ReadonlyMap<string, string>
|
|
51
70
|
): void | ZLinkSubmitResult | Promise<void | ZLinkSubmitResult>;
|
|
52
71
|
request<TReply>(
|
|
@@ -103,7 +122,6 @@ export interface ZLinkRouteClientTransport {
|
|
|
103
122
|
targetNodeRid: string,
|
|
104
123
|
packetName: string | undefined,
|
|
105
124
|
message: unknown,
|
|
106
|
-
signal?: AbortSignal,
|
|
107
125
|
metadata?: ReadonlyMap<string, string>
|
|
108
126
|
): void | ZLinkSubmitResult | Promise<void | ZLinkSubmitResult>;
|
|
109
127
|
request<TReply>(
|
|
@@ -120,7 +138,6 @@ export interface ZLinkRouteClientTransport {
|
|
|
120
138
|
channelName: string,
|
|
121
139
|
packetName: string | undefined,
|
|
122
140
|
message: unknown,
|
|
123
|
-
signal?: AbortSignal,
|
|
124
141
|
metadata?: ReadonlyMap<string, string>
|
|
125
142
|
): void | ZLinkSubmitResult | Promise<void | ZLinkSubmitResult>;
|
|
126
143
|
requestToChannel<TReply>(
|
|
@@ -137,8 +154,6 @@ export interface ZLinkRouteClientTransport {
|
|
|
137
154
|
message: unknown,
|
|
138
155
|
options: {
|
|
139
156
|
readonly packetName?: string;
|
|
140
|
-
readonly timeoutMs?: number;
|
|
141
|
-
readonly signal?: AbortSignal;
|
|
142
157
|
readonly metadata?: ReadonlyMap<string, string>;
|
|
143
158
|
}
|
|
144
159
|
): Promise<ZLinkSubmitResult>;
|
|
@@ -159,7 +174,6 @@ interface ZLinkChannelTransportRuntime {
|
|
|
159
174
|
channelName: string,
|
|
160
175
|
packetName: string | undefined,
|
|
161
176
|
message: unknown,
|
|
162
|
-
signal?: AbortSignal,
|
|
163
177
|
metadata?: ReadonlyMap<string, string>
|
|
164
178
|
): Promise<ZLinkSubmitResult>;
|
|
165
179
|
request<TReply>(
|
|
@@ -192,7 +206,6 @@ interface ZLinkChannelTransportRuntime {
|
|
|
192
206
|
targetNodeRid: string,
|
|
193
207
|
packetName: string | undefined,
|
|
194
208
|
message: unknown,
|
|
195
|
-
signal?: AbortSignal,
|
|
196
209
|
metadata?: ReadonlyMap<string, string>
|
|
197
210
|
): Promise<ZLinkSubmitResult>;
|
|
198
211
|
routeRequest<TReply>(
|
|
@@ -208,18 +221,14 @@ interface ZLinkChannelTransportRuntime {
|
|
|
208
221
|
spotRouteTarget: ZLinkSpotRouteTarget,
|
|
209
222
|
packetName: string | undefined,
|
|
210
223
|
message: unknown,
|
|
211
|
-
|
|
212
|
-
metadata?: ReadonlyMap<string, string>,
|
|
213
|
-
timeoutMs?: number
|
|
224
|
+
metadata?: ReadonlyMap<string, string>
|
|
214
225
|
): Promise<void>;
|
|
215
226
|
routeSendFromSpotToSpot(
|
|
216
227
|
sourceSpot: ZLinkBackendSpot,
|
|
217
228
|
spotRouteTarget: ZLinkSpotRouteTarget,
|
|
218
229
|
packetName: string | undefined,
|
|
219
230
|
message: unknown,
|
|
220
|
-
|
|
221
|
-
metadata?: ReadonlyMap<string, string>,
|
|
222
|
-
timeoutMs?: number
|
|
231
|
+
metadata?: ReadonlyMap<string, string>
|
|
223
232
|
): Promise<void>;
|
|
224
233
|
routeRequestToSpot<TReply>(
|
|
225
234
|
spotRouteTarget: ZLinkSpotRouteTarget,
|
|
@@ -278,7 +287,8 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
278
287
|
parts: readonly MessageLike[]
|
|
279
288
|
) => ZLinkSubmitResult,
|
|
280
289
|
private readonly metrics?: ZLinkRuntimeMetrics,
|
|
281
|
-
private readonly flowCreationEnabled: () => boolean = () => true
|
|
290
|
+
private readonly flowCreationEnabled: () => boolean = () => true,
|
|
291
|
+
private readonly outboundFlow: () => ZLinkMessageFlowTracer | undefined = () => undefined
|
|
282
292
|
) {}
|
|
283
293
|
|
|
284
294
|
canRouteChannel(routerChannelId: string): boolean {
|
|
@@ -302,13 +312,12 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
302
312
|
targetNodeRid: string,
|
|
303
313
|
packetName: string | undefined,
|
|
304
314
|
message: unknown,
|
|
305
|
-
signal?: AbortSignal,
|
|
306
315
|
metadata?: ReadonlyMap<string, string>
|
|
307
316
|
): Promise<ZLinkSubmitResult> {
|
|
308
317
|
// Call-scoped flow (spec 27 §4): the envelope flow pair lives only for
|
|
309
318
|
// the duration of this outbound call, never in the caller's context.
|
|
310
319
|
return runWithOutboundFlow(this.flowCreationEnabled(), () =>
|
|
311
|
-
this.submitNode(meshName, targetNodeRid, packetName, message,
|
|
320
|
+
this.submitNode(meshName, targetNodeRid, packetName, message, metadata, false)
|
|
312
321
|
);
|
|
313
322
|
}
|
|
314
323
|
|
|
@@ -317,11 +326,10 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
317
326
|
targetNodeRid: string,
|
|
318
327
|
packetName: string | undefined,
|
|
319
328
|
message: unknown,
|
|
320
|
-
signal?: AbortSignal,
|
|
321
329
|
metadata?: ReadonlyMap<string, string>
|
|
322
330
|
): Promise<ZLinkSubmitResult> {
|
|
323
331
|
return runWithOutboundFlow(this.flowCreationEnabled(), () =>
|
|
324
|
-
this.submitNode(meshName, targetNodeRid, packetName, message,
|
|
332
|
+
this.submitNode(meshName, targetNodeRid, packetName, message, metadata, true)
|
|
325
333
|
);
|
|
326
334
|
}
|
|
327
335
|
|
|
@@ -330,7 +338,6 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
330
338
|
targetNodeRid: string,
|
|
331
339
|
packetName: string | undefined,
|
|
332
340
|
message: unknown,
|
|
333
|
-
signal: AbortSignal | undefined,
|
|
334
341
|
metadata: ReadonlyMap<string, string> | undefined,
|
|
335
342
|
allowObjectClientTarget: boolean
|
|
336
343
|
): Promise<ZLinkSubmitResult> {
|
|
@@ -341,11 +348,9 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
341
348
|
targetNodeRid,
|
|
342
349
|
packetName,
|
|
343
350
|
message,
|
|
344
|
-
signal,
|
|
345
351
|
metadata
|
|
346
352
|
);
|
|
347
353
|
}
|
|
348
|
-
throwIfAborted(signal);
|
|
349
354
|
if (
|
|
350
355
|
!allowObjectClientTarget &&
|
|
351
356
|
node.isObjectClientNodeDirectTarget?.(toBackendRoutingId(targetNodeRid)) === true
|
|
@@ -422,33 +427,92 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
422
427
|
metadata
|
|
423
428
|
);
|
|
424
429
|
}
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
+
const correlationId = newChannelCorrelationId();
|
|
431
|
+
try {
|
|
432
|
+
throwIfAborted(signal);
|
|
433
|
+
if (node.isObjectClientNodeDirectTarget?.(toBackendRoutingId(targetNodeRid)) === true) {
|
|
434
|
+
throw createInternalFrameworkException(
|
|
435
|
+
ZLinkFrameworkInternalErrorKind.RequestTargetNotFound,
|
|
436
|
+
`MeshNode '${meshName}' target '${targetNodeRid}' is an Object Client.`
|
|
437
|
+
);
|
|
438
|
+
}
|
|
439
|
+
const parts = this.encodeMessage(
|
|
440
|
+
ZLinkChannelMessageKind.Request,
|
|
441
|
+
meshName,
|
|
442
|
+
packetName,
|
|
443
|
+
request,
|
|
444
|
+
timeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS,
|
|
445
|
+
metadata,
|
|
446
|
+
correlationId
|
|
430
447
|
);
|
|
448
|
+
const completion = await this.submitRequestOperation(
|
|
449
|
+
meshName,
|
|
450
|
+
timeoutMs,
|
|
451
|
+
signal,
|
|
452
|
+
`MeshNode '${meshName}' request to node '${targetNodeRid}'`,
|
|
453
|
+
(remainingTimeoutMs) => {
|
|
454
|
+
const operationId = node.requestToNode(toBackendRoutingId(targetNodeRid), parts, {
|
|
455
|
+
flags: 1,
|
|
456
|
+
timeoutMs: remainingTimeoutMs
|
|
457
|
+
});
|
|
458
|
+
this.traceNodeRequest(
|
|
459
|
+
ZLinkMessageFlowOutcome.Sent,
|
|
460
|
+
undefined,
|
|
461
|
+
meshName,
|
|
462
|
+
targetNodeRid,
|
|
463
|
+
packetName,
|
|
464
|
+
correlationId
|
|
465
|
+
);
|
|
466
|
+
return operationId;
|
|
467
|
+
}
|
|
468
|
+
);
|
|
469
|
+
const reply = this.decodeMeshReply<TReply>(meshName, completion);
|
|
470
|
+
this.traceNodeRequest(
|
|
471
|
+
ZLinkMessageFlowOutcome.ReplyReceived,
|
|
472
|
+
'succeeded',
|
|
473
|
+
meshName,
|
|
474
|
+
targetNodeRid,
|
|
475
|
+
packetName,
|
|
476
|
+
correlationId
|
|
477
|
+
);
|
|
478
|
+
return reply;
|
|
479
|
+
} catch (error) {
|
|
480
|
+
if (!isRemoteChannelErrorReply(error)) {
|
|
481
|
+
this.traceNodeRequest(
|
|
482
|
+
ZLinkMessageFlowOutcome.ReplyReceived,
|
|
483
|
+
requestTerminalResult(error, signal),
|
|
484
|
+
meshName,
|
|
485
|
+
targetNodeRid,
|
|
486
|
+
packetName,
|
|
487
|
+
correlationId,
|
|
488
|
+
error
|
|
489
|
+
);
|
|
490
|
+
}
|
|
491
|
+
throw error;
|
|
431
492
|
}
|
|
432
|
-
|
|
433
|
-
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
private traceNodeRequest(
|
|
496
|
+
outcome: ZLinkMessageFlowOutcome,
|
|
497
|
+
result: ZLinkRuntimeMessageFlowResult | undefined,
|
|
498
|
+
meshName: string,
|
|
499
|
+
targetRid: string,
|
|
500
|
+
packetName: string | undefined,
|
|
501
|
+
correlationId: string,
|
|
502
|
+
error?: unknown
|
|
503
|
+
): void {
|
|
504
|
+
if (!this.flowCreationEnabled()) return;
|
|
505
|
+
flowIfEnabled(this.outboundFlow(), outcome, result)?.trace({
|
|
506
|
+
outcome,
|
|
507
|
+
result,
|
|
508
|
+
surface: ZLinkDispatchErrorSurface.Node,
|
|
509
|
+
messageKind: ZLinkDispatchMessageKind.Request,
|
|
434
510
|
meshName,
|
|
511
|
+
targetRid,
|
|
435
512
|
packetName,
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
);
|
|
440
|
-
const completion = await this.submitRequestOperation(
|
|
441
|
-
meshName,
|
|
442
|
-
timeoutMs,
|
|
443
|
-
signal,
|
|
444
|
-
`MeshNode '${meshName}' request to node '${targetNodeRid}'`,
|
|
445
|
-
(remainingTimeoutMs) =>
|
|
446
|
-
node.requestToNode(toBackendRoutingId(targetNodeRid), parts, {
|
|
447
|
-
flags: 1,
|
|
448
|
-
timeoutMs: remainingTimeoutMs
|
|
449
|
-
})
|
|
450
|
-
);
|
|
451
|
-
return this.decodeMeshReply(meshName, completion);
|
|
513
|
+
correlationId,
|
|
514
|
+
...(error instanceof Error ? { errorType: error.name, errorMessage: error.message } : {})
|
|
515
|
+
});
|
|
452
516
|
}
|
|
453
517
|
|
|
454
518
|
submitToChannel(
|
|
@@ -456,11 +520,10 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
456
520
|
channelName: string,
|
|
457
521
|
packetName: string | undefined,
|
|
458
522
|
message: unknown,
|
|
459
|
-
signal?: AbortSignal,
|
|
460
523
|
metadata?: ReadonlyMap<string, string>
|
|
461
524
|
): Promise<ZLinkSubmitResult> {
|
|
462
525
|
return runWithOutboundFlow(this.flowCreationEnabled(), () =>
|
|
463
|
-
this.submitToChannelScoped(meshName, channelName, packetName, message,
|
|
526
|
+
this.submitToChannelScoped(meshName, channelName, packetName, message, metadata)
|
|
464
527
|
);
|
|
465
528
|
}
|
|
466
529
|
|
|
@@ -469,10 +532,8 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
469
532
|
channelName: string,
|
|
470
533
|
packetName: string | undefined,
|
|
471
534
|
message: unknown,
|
|
472
|
-
signal?: AbortSignal,
|
|
473
535
|
metadata?: ReadonlyMap<string, string>
|
|
474
536
|
): Promise<ZLinkSubmitResult> {
|
|
475
|
-
throwIfAborted(signal);
|
|
476
537
|
const node = this.requireMeshNode(meshName);
|
|
477
538
|
const parts = this.encodeMessage(
|
|
478
539
|
ZLinkChannelMessageKind.Command,
|
|
@@ -534,7 +595,7 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
534
595
|
channelName,
|
|
535
596
|
packetName,
|
|
536
597
|
request,
|
|
537
|
-
timeoutMs ??
|
|
598
|
+
timeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS,
|
|
538
599
|
metadata
|
|
539
600
|
);
|
|
540
601
|
const metric = this.metrics?.startRequest(meshName, 'channel');
|
|
@@ -568,7 +629,7 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
568
629
|
remainingTimeoutMs: number
|
|
569
630
|
) => ReturnType<Parameters<ZLinkMeshCompletionTable['submit']>[0]>
|
|
570
631
|
): Promise<ZLinkMeshCompletion> {
|
|
571
|
-
const effectiveTimeoutMs = Math.max(1, timeoutMs ??
|
|
632
|
+
const effectiveTimeoutMs = Math.max(1, timeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS);
|
|
572
633
|
const deadlineMs = performance.now() + effectiveTimeoutMs;
|
|
573
634
|
const remainingTimeoutMs = deadlineMs - performance.now();
|
|
574
635
|
if (remainingTimeoutMs <= 0) {
|
|
@@ -590,12 +651,7 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
590
651
|
sendToSpot(
|
|
591
652
|
spotRouteTarget: ZLinkSpotRouteTarget,
|
|
592
653
|
message: unknown,
|
|
593
|
-
options:
|
|
594
|
-
readonly packetName?: string;
|
|
595
|
-
readonly timeoutMs?: number;
|
|
596
|
-
readonly signal?: AbortSignal;
|
|
597
|
-
readonly metadata?: ReadonlyMap<string, string>;
|
|
598
|
-
}
|
|
654
|
+
options: ZLinkSpotRoutedSendOptions
|
|
599
655
|
): Promise<ZLinkSubmitResult> {
|
|
600
656
|
return runWithOutboundFlow(this.flowCreationEnabled(), () =>
|
|
601
657
|
this.sendToSpotScoped(spotRouteTarget, message, options)
|
|
@@ -605,12 +661,7 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
605
661
|
private async sendToSpotScoped(
|
|
606
662
|
spotRouteTarget: ZLinkSpotRouteTarget,
|
|
607
663
|
message: unknown,
|
|
608
|
-
options:
|
|
609
|
-
readonly packetName?: string;
|
|
610
|
-
readonly timeoutMs?: number;
|
|
611
|
-
readonly signal?: AbortSignal;
|
|
612
|
-
readonly metadata?: ReadonlyMap<string, string>;
|
|
613
|
-
}
|
|
664
|
+
options: ZLinkSpotRoutedSendOptions
|
|
614
665
|
): Promise<ZLinkSubmitResult> {
|
|
615
666
|
const node = this.meshNode(spotRouteTarget.routerChannelId);
|
|
616
667
|
if (node === undefined) {
|
|
@@ -623,13 +674,10 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
623
674
|
spotRouteTarget,
|
|
624
675
|
options.packetName,
|
|
625
676
|
message,
|
|
626
|
-
options.
|
|
627
|
-
options.metadata,
|
|
628
|
-
options.timeoutMs
|
|
677
|
+
options.metadata
|
|
629
678
|
);
|
|
630
679
|
return { status: ZLinkSubmitStatus.Submitted };
|
|
631
680
|
}
|
|
632
|
-
throwIfAborted(options.signal);
|
|
633
681
|
const operation = `MeshNode '${spotRouteTarget.routerChannelId}' send to Spot '${spotRouteTarget.spotId}'`;
|
|
634
682
|
try {
|
|
635
683
|
const encoded = this.encodeMessage(
|
|
@@ -646,7 +694,8 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
646
694
|
instanceSpotRouteFence(spotRouteTarget),
|
|
647
695
|
encoded,
|
|
648
696
|
undefined,
|
|
649
|
-
options.metadata
|
|
697
|
+
options.metadata,
|
|
698
|
+
options.instanceSpot
|
|
650
699
|
)
|
|
651
700
|
);
|
|
652
701
|
}
|
|
@@ -676,8 +725,6 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
676
725
|
message: unknown,
|
|
677
726
|
options: {
|
|
678
727
|
readonly packetName?: string;
|
|
679
|
-
readonly timeoutMs?: number;
|
|
680
|
-
readonly signal?: AbortSignal;
|
|
681
728
|
readonly metadata?: ReadonlyMap<string, string>;
|
|
682
729
|
}
|
|
683
730
|
): Promise<ZLinkSubmitResult> {
|
|
@@ -686,9 +733,7 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
686
733
|
spotRouteTarget,
|
|
687
734
|
options.packetName,
|
|
688
735
|
message,
|
|
689
|
-
options.
|
|
690
|
-
options.metadata,
|
|
691
|
-
options.timeoutMs
|
|
736
|
+
options.metadata
|
|
692
737
|
);
|
|
693
738
|
return { status: ZLinkSubmitStatus.Submitted };
|
|
694
739
|
}
|
|
@@ -696,12 +741,7 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
696
741
|
requestToSpot<TReply = unknown>(
|
|
697
742
|
spotRouteTarget: ZLinkSpotRouteTarget,
|
|
698
743
|
request: unknown,
|
|
699
|
-
options:
|
|
700
|
-
readonly packetName?: string;
|
|
701
|
-
readonly timeoutMs?: number;
|
|
702
|
-
readonly signal?: AbortSignal;
|
|
703
|
-
readonly metadata?: ReadonlyMap<string, string>;
|
|
704
|
-
}
|
|
744
|
+
options: ZLinkSpotRoutedRequestOptions
|
|
705
745
|
): Promise<TReply> {
|
|
706
746
|
return runWithOutboundFlow(this.flowCreationEnabled(), () =>
|
|
707
747
|
this.requestToSpotScoped<TReply>(spotRouteTarget, request, options)
|
|
@@ -711,12 +751,7 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
711
751
|
private async requestToSpotScoped<TReply = unknown>(
|
|
712
752
|
spotRouteTarget: ZLinkSpotRouteTarget,
|
|
713
753
|
request: unknown,
|
|
714
|
-
options:
|
|
715
|
-
readonly packetName?: string;
|
|
716
|
-
readonly timeoutMs?: number;
|
|
717
|
-
readonly signal?: AbortSignal;
|
|
718
|
-
readonly metadata?: ReadonlyMap<string, string>;
|
|
719
|
-
}
|
|
754
|
+
options: ZLinkSpotRoutedRequestOptions
|
|
720
755
|
): Promise<TReply> {
|
|
721
756
|
const meshName = spotRouteTarget.routerChannelId;
|
|
722
757
|
const node = this.meshNode(meshName);
|
|
@@ -754,7 +789,8 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
754
789
|
encoded,
|
|
755
790
|
options.timeoutMs,
|
|
756
791
|
undefined,
|
|
757
|
-
options.metadata
|
|
792
|
+
options.metadata,
|
|
793
|
+
options.instanceSpot
|
|
758
794
|
)
|
|
759
795
|
: node
|
|
760
796
|
.entrySpot()
|
|
@@ -967,7 +1003,8 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
967
1003
|
packetName: string | undefined,
|
|
968
1004
|
message: unknown,
|
|
969
1005
|
timeoutMs?: number,
|
|
970
|
-
metadata?: ReadonlyMap<string, string
|
|
1006
|
+
metadata?: ReadonlyMap<string, string>,
|
|
1007
|
+
correlationId?: string
|
|
971
1008
|
): readonly MessageLike[] {
|
|
972
1009
|
return encodeChannelEnvelopeParts(
|
|
973
1010
|
kind,
|
|
@@ -977,7 +1014,7 @@ export class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTransport {
|
|
|
977
1014
|
timeoutMs,
|
|
978
1015
|
undefined,
|
|
979
1016
|
this.codecs,
|
|
980
|
-
|
|
1017
|
+
correlationId,
|
|
981
1018
|
this.flowCreationEnabled(),
|
|
982
1019
|
metadata
|
|
983
1020
|
);
|
|
@@ -1021,7 +1058,7 @@ function directSpotRouteFence(
|
|
|
1021
1058
|
target.authorityStoreVersion === undefined
|
|
1022
1059
|
) {
|
|
1023
1060
|
throw createInternalFrameworkException(
|
|
1024
|
-
ZLinkFrameworkInternalErrorKind.
|
|
1061
|
+
ZLinkFrameworkInternalErrorKind.RouteNotConnected,
|
|
1025
1062
|
`Spot '${String(target.spotId)}' has no complete Ready authority fence.`
|
|
1026
1063
|
);
|
|
1027
1064
|
}
|
|
@@ -1065,24 +1102,7 @@ function instanceSpotRouteFence(target: ZLinkSpotRouteTarget): ServiceInstanceRo
|
|
|
1065
1102
|
}
|
|
1066
1103
|
|
|
1067
1104
|
function mapMeshSubmitResult(result: number): ZLinkSubmitResult {
|
|
1068
|
-
|
|
1069
|
-
case SubmitResult.Ok:
|
|
1070
|
-
return { status: ZLinkSubmitStatus.Submitted };
|
|
1071
|
-
case SubmitResult.Backpressured:
|
|
1072
|
-
case SubmitResult.NotAdmitted:
|
|
1073
|
-
return { status: ZLinkSubmitStatus.Backpressured };
|
|
1074
|
-
case SubmitResult.NotFound:
|
|
1075
|
-
return { status: ZLinkSubmitStatus.TargetNotFound };
|
|
1076
|
-
case SubmitResult.NotConnected:
|
|
1077
|
-
return { status: ZLinkSubmitStatus.RouteNotConnected };
|
|
1078
|
-
case SubmitResult.Terminated:
|
|
1079
|
-
return { status: ZLinkSubmitStatus.Shutdown };
|
|
1080
|
-
default:
|
|
1081
|
-
throw createInternalFrameworkException(
|
|
1082
|
-
ZLinkFrameworkInternalErrorKind.RequestFailed,
|
|
1083
|
-
`Mesh submission failed with result ${result}.`
|
|
1084
|
-
);
|
|
1085
|
-
}
|
|
1105
|
+
return classifySubmitResult(result, 'Mesh submission');
|
|
1086
1106
|
}
|
|
1087
1107
|
|
|
1088
1108
|
function mapMeshSubmissionError(error: unknown, operation: string): Error {
|
|
@@ -1103,18 +1123,21 @@ function mapMeshSubmissionError(error: unknown, operation: string): Error {
|
|
|
1103
1123
|
);
|
|
1104
1124
|
}
|
|
1105
1125
|
if (isZLinkBackendResultError(error)) {
|
|
1106
|
-
const
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1126
|
+
const terminal =
|
|
1127
|
+
error.operation === 'request'
|
|
1128
|
+
? error.result
|
|
1129
|
+
: submitToRequestResult(error.result, error.phase);
|
|
1130
|
+
if (terminal === RequestResult.NotFound) {
|
|
1131
|
+
return createInternalFrameworkException(
|
|
1132
|
+
ZLinkFrameworkInternalErrorKind.RequestTargetNotFound,
|
|
1133
|
+
`${operation} failed with result ${error.result}.`,
|
|
1134
|
+
false,
|
|
1135
|
+
error
|
|
1136
|
+
);
|
|
1137
|
+
}
|
|
1138
|
+
return new ZLinkFrameworkException(
|
|
1139
|
+
requestResultToPublicErrorKind(terminal),
|
|
1116
1140
|
`${operation} failed with result ${error.result}.`,
|
|
1117
|
-
retriable,
|
|
1118
1141
|
error
|
|
1119
1142
|
);
|
|
1120
1143
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { Message } from '../../contracts/Common/Message';
|
|
2
|
+
import { ZLINK_DEFAULT_PUBLIC_WEIGHT } from '../../contracts/Configuration/RegistrationBuilderPolicy';
|
|
1
3
|
import {
|
|
2
4
|
ZLinkFrameworkRuntimeState,
|
|
3
5
|
ZLinkLocationWriteIntent,
|
|
@@ -5,26 +7,28 @@ import {
|
|
|
5
7
|
type ZLinkClientServerServerDescriptor,
|
|
6
8
|
type ZLinkLocationOwnerToken
|
|
7
9
|
} from '../../contracts/Locations';
|
|
8
|
-
import type { ZLinkClientServerLocationStore } from '../locations/internal-store-contracts';
|
|
9
10
|
import {
|
|
10
11
|
zlinkRuntimeDefaultLocationOptions,
|
|
11
12
|
type ZLinkLocationOptionOverrides
|
|
12
13
|
} from '../../contracts/Locations/Options';
|
|
13
|
-
import
|
|
14
|
-
import { ZLinkConfigurationException } from '../configuration';
|
|
15
|
-
import type { ZLinkLocationRuntime, ZLinkLocationRuntimeStores } from '../locations';
|
|
16
|
-
import { ZLinkChannelSocketRegistry } from './channel-socket-registry';
|
|
14
|
+
import { ZLINK_PROVIDER_MAX_PAGE_SIZE } from '../../contracts/Locations/Stores';
|
|
17
15
|
import type { ZLinkBackendDealerSocket } from '../backend/contracts';
|
|
18
16
|
import { ZLinkBufferMessage as RuntimeMessage } from '../backend/runtime-message';
|
|
19
|
-
import
|
|
17
|
+
import { isBackendRequestTimeoutError } from '../backend/runtime-values';
|
|
18
|
+
import { type ZLinkFrameworkRegistration, ZLinkConfigurationException } from '../configuration';
|
|
19
|
+
|
|
20
|
+
import { ZLinkStateLane } from '../execution/state-lane';
|
|
21
|
+
import { discoveryAvailabilityForRuntimeState } from '../foundation/runtime-state-projections';
|
|
22
|
+
import type { ZLinkLocationRuntime, ZLinkLocationRuntimeStores } from '../locations';
|
|
23
|
+
import type { ZLinkClientServerLocationStore } from '../locations/internal-store-contracts';
|
|
24
|
+
import { ZLinkChannelSocketRegistry } from './channel-socket-registry';
|
|
20
25
|
import {
|
|
21
26
|
decodeClientServerControl,
|
|
27
|
+
DEFAULT_CLIENT_SERVER_MESSAGE_LIMIT,
|
|
22
28
|
encodeClientServerHello,
|
|
29
|
+
normalizeClientServerMessageLimit,
|
|
23
30
|
type ZLinkClientServerAdmission
|
|
24
31
|
} from './client-server-service-wire';
|
|
25
|
-
import { discoveryAvailabilityForRuntimeState } from '../foundation/runtime-state-projections';
|
|
26
|
-
import { ZLinkStateLane } from '../execution/state-lane';
|
|
27
|
-
import { isBackendRequestTimeoutError } from '../backend/runtime-values';
|
|
28
32
|
|
|
29
33
|
interface ActiveClientServerTarget {
|
|
30
34
|
descriptor: ZLinkClientServerServerDescriptor;
|
|
@@ -170,7 +174,7 @@ export class ZLinkClientServerLocationRuntime {
|
|
|
170
174
|
lifecycleGeneration: identity.lifecycleGeneration,
|
|
171
175
|
descriptorRevision: 1n,
|
|
172
176
|
endpoint: identity.endpoint,
|
|
173
|
-
weight: channel.server.weight ??
|
|
177
|
+
weight: channel.server.weight ?? ZLINK_DEFAULT_PUBLIC_WEIGHT,
|
|
174
178
|
state: ZLinkFrameworkRuntimeState.Serving,
|
|
175
179
|
securityIdentity: 'default',
|
|
176
180
|
ownerId: owner.ownerId,
|
|
@@ -250,7 +254,7 @@ export class ZLinkClientServerLocationRuntime {
|
|
|
250
254
|
do {
|
|
251
255
|
const page = await this.store.listClientServers(
|
|
252
256
|
channelName,
|
|
253
|
-
{ pageSize:
|
|
257
|
+
{ pageSize: ZLINK_PROVIDER_MAX_PAGE_SIZE, continuationToken },
|
|
254
258
|
signal
|
|
255
259
|
);
|
|
256
260
|
rows.push(...page.items);
|
|
@@ -517,7 +521,7 @@ function sameDescriptor(
|
|
|
517
521
|
|
|
518
522
|
function toDiscoveryDescriptor(
|
|
519
523
|
descriptor: ZLinkClientServerServerDescriptor,
|
|
520
|
-
effectiveMaxMessageBytes =
|
|
524
|
+
effectiveMaxMessageBytes: number = DEFAULT_CLIENT_SERVER_MESSAGE_LIMIT
|
|
521
525
|
) {
|
|
522
526
|
return {
|
|
523
527
|
channelName: descriptor.channelName,
|
|
@@ -541,7 +545,7 @@ function requestAdmission(
|
|
|
541
545
|
encodeClientServerHello({
|
|
542
546
|
channelName: descriptor.channelName,
|
|
543
547
|
securityIdentity: descriptor.securityIdentity,
|
|
544
|
-
normalizedEffectiveMaxMessageBytes:
|
|
548
|
+
normalizedEffectiveMaxMessageBytes: normalizeClientServerMessageLimit(dealer.maxMessageSize)
|
|
545
549
|
})
|
|
546
550
|
);
|
|
547
551
|
return dealer.request(message, timeoutMs).then(
|
|
@@ -600,7 +604,3 @@ function requireMatchingAdmission(
|
|
|
600
604
|
function closeMessages(parts: readonly Message[]): void {
|
|
601
605
|
for (const part of parts) part.close();
|
|
602
606
|
}
|
|
603
|
-
|
|
604
|
-
function normalizedMessageLimit(value: number): number {
|
|
605
|
-
return Number.isSafeInteger(value) && value > 0 ? Math.min(value, 0xffff_ffff) : 0x7fff_ffff;
|
|
606
|
-
}
|