actor-ts 0.9.0 → 0.10.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/CHANGELOG.md +408 -0
- package/README.md +285 -269
- package/dist/ActorSystem.d.ts +3 -38
- package/dist/ActorSystem.d.ts.map +1 -1
- package/dist/ActorSystem.js +2 -2
- package/dist/ActorSystem.js.map +1 -1
- package/dist/ActorSystemOptions.d.ts +91 -0
- package/dist/ActorSystemOptions.d.ts.map +1 -0
- package/dist/ActorSystemOptions.js +45 -0
- package/dist/ActorSystemOptions.js.map +1 -0
- package/dist/Logger.d.ts +63 -0
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +146 -0
- package/dist/Logger.js.map +1 -1
- package/dist/cache/MemcachedCache.d.ts +2 -12
- package/dist/cache/MemcachedCache.d.ts.map +1 -1
- package/dist/cache/MemcachedCache.js +2 -1
- package/dist/cache/MemcachedCache.js.map +1 -1
- package/dist/cache/MemcachedCacheOptions.d.ts +40 -0
- package/dist/cache/MemcachedCacheOptions.d.ts.map +1 -0
- package/dist/cache/MemcachedCacheOptions.js +32 -0
- package/dist/cache/MemcachedCacheOptions.js.map +1 -0
- package/dist/cache/RedisCache.d.ts +2 -22
- package/dist/cache/RedisCache.d.ts.map +1 -1
- package/dist/cache/RedisCache.js +2 -1
- package/dist/cache/RedisCache.js.map +1 -1
- package/dist/cache/RedisCacheOptions.d.ts +56 -0
- package/dist/cache/RedisCacheOptions.d.ts.map +1 -0
- package/dist/cache/RedisCacheOptions.js +43 -0
- package/dist/cache/RedisCacheOptions.js.map +1 -0
- package/dist/cache/index.d.ts +6 -2
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +2 -0
- package/dist/cache/index.js.map +1 -1
- package/dist/cluster/Cluster.d.ts +4 -63
- package/dist/cluster/Cluster.d.ts.map +1 -1
- package/dist/cluster/Cluster.js +10 -5
- package/dist/cluster/Cluster.js.map +1 -1
- package/dist/cluster/ClusterBootstrap.d.ts +6 -84
- package/dist/cluster/ClusterBootstrap.d.ts.map +1 -1
- package/dist/cluster/ClusterBootstrap.js +33 -21
- package/dist/cluster/ClusterBootstrap.js.map +1 -1
- package/dist/cluster/ClusterBootstrapOptions.d.ts +152 -0
- package/dist/cluster/ClusterBootstrapOptions.d.ts.map +1 -0
- package/dist/cluster/ClusterBootstrapOptions.js +103 -0
- package/dist/cluster/ClusterBootstrapOptions.js.map +1 -0
- package/dist/cluster/ClusterClient.d.ts +21 -31
- package/dist/cluster/ClusterClient.d.ts.map +1 -1
- package/dist/cluster/ClusterClient.js +21 -6
- package/dist/cluster/ClusterClient.js.map +1 -1
- package/dist/cluster/ClusterClientOptions.d.ts +65 -0
- package/dist/cluster/ClusterClientOptions.d.ts.map +1 -0
- package/dist/cluster/ClusterClientOptions.js +43 -0
- package/dist/cluster/ClusterClientOptions.js.map +1 -0
- package/dist/cluster/ClusterClientReceptionist.d.ts +2 -8
- package/dist/cluster/ClusterClientReceptionist.d.ts.map +1 -1
- package/dist/cluster/ClusterClientReceptionist.js +3 -1
- package/dist/cluster/ClusterClientReceptionist.js.map +1 -1
- package/dist/cluster/ClusterClientReceptionistOptions.d.ts +32 -0
- package/dist/cluster/ClusterClientReceptionistOptions.d.ts.map +1 -0
- package/dist/cluster/ClusterClientReceptionistOptions.js +22 -0
- package/dist/cluster/ClusterClientReceptionistOptions.js.map +1 -0
- package/dist/cluster/ClusterOptions.d.ts +116 -0
- package/dist/cluster/ClusterOptions.d.ts.map +1 -0
- package/dist/cluster/ClusterOptions.js +77 -0
- package/dist/cluster/ClusterOptions.js.map +1 -0
- package/dist/cluster/FailureDetector.d.ts +4 -11
- package/dist/cluster/FailureDetector.d.ts.map +1 -1
- package/dist/cluster/FailureDetector.js +4 -3
- package/dist/cluster/FailureDetector.js.map +1 -1
- package/dist/cluster/FailureDetectorOptions.d.ts +38 -0
- package/dist/cluster/FailureDetectorOptions.d.ts.map +1 -0
- package/dist/cluster/FailureDetectorOptions.js +31 -0
- package/dist/cluster/FailureDetectorOptions.js.map +1 -0
- package/dist/cluster/PhiAccrualFailureDetector.d.ts +3 -19
- package/dist/cluster/PhiAccrualFailureDetector.d.ts.map +1 -1
- package/dist/cluster/PhiAccrualFailureDetector.js +2 -2
- package/dist/cluster/PhiAccrualFailureDetector.js.map +1 -1
- package/dist/cluster/PhiAccrualOptions.d.ts +53 -0
- package/dist/cluster/PhiAccrualOptions.d.ts.map +1 -0
- package/dist/cluster/PhiAccrualOptions.js +43 -0
- package/dist/cluster/PhiAccrualOptions.js.map +1 -0
- package/dist/cluster/downing/KeepOldest.d.ts +2 -11
- package/dist/cluster/downing/KeepOldest.d.ts.map +1 -1
- package/dist/cluster/downing/KeepOldest.js +2 -2
- package/dist/cluster/downing/KeepOldest.js.map +1 -1
- package/dist/cluster/downing/KeepOldestOptions.d.ts +34 -0
- package/dist/cluster/downing/KeepOldestOptions.d.ts.map +1 -0
- package/dist/cluster/downing/KeepOldestOptions.js +23 -0
- package/dist/cluster/downing/KeepOldestOptions.js.map +1 -0
- package/dist/cluster/downing/KeepReferee.d.ts +2 -10
- package/dist/cluster/downing/KeepReferee.d.ts.map +1 -1
- package/dist/cluster/downing/KeepReferee.js +3 -3
- package/dist/cluster/downing/KeepReferee.js.map +1 -1
- package/dist/cluster/downing/KeepRefereeOptions.d.ts +35 -0
- package/dist/cluster/downing/KeepRefereeOptions.d.ts.map +1 -0
- package/dist/cluster/downing/KeepRefereeOptions.js +25 -0
- package/dist/cluster/downing/KeepRefereeOptions.js.map +1 -0
- package/dist/cluster/downing/LeaseMajority.d.ts +63 -21
- package/dist/cluster/downing/LeaseMajority.d.ts.map +1 -1
- package/dist/cluster/downing/LeaseMajority.js +132 -9
- package/dist/cluster/downing/LeaseMajority.js.map +1 -1
- package/dist/cluster/downing/LeaseMajorityOptions.d.ts +49 -0
- package/dist/cluster/downing/LeaseMajorityOptions.d.ts.map +1 -0
- package/dist/cluster/downing/LeaseMajorityOptions.js +31 -0
- package/dist/cluster/downing/LeaseMajorityOptions.js.map +1 -0
- package/dist/cluster/downing/StaticQuorum.d.ts +2 -7
- package/dist/cluster/downing/StaticQuorum.d.ts.map +1 -1
- package/dist/cluster/downing/StaticQuorum.js +3 -3
- package/dist/cluster/downing/StaticQuorum.js.map +1 -1
- package/dist/cluster/downing/StaticQuorumOptions.d.ts +30 -0
- package/dist/cluster/downing/StaticQuorumOptions.d.ts.map +1 -0
- package/dist/cluster/downing/StaticQuorumOptions.js +23 -0
- package/dist/cluster/downing/StaticQuorumOptions.js.map +1 -0
- package/dist/cluster/downing/index.d.ts +8 -4
- package/dist/cluster/downing/index.d.ts.map +1 -1
- package/dist/cluster/downing/index.js +4 -0
- package/dist/cluster/downing/index.js.map +1 -1
- package/dist/cluster/index.d.ts +34 -19
- package/dist/cluster/index.d.ts.map +1 -1
- package/dist/cluster/index.js +15 -4
- package/dist/cluster/index.js.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubExtension.d.ts +2 -2
- package/dist/cluster/pubsub/DistributedPubSubExtension.d.ts.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubExtension.js +5 -2
- package/dist/cluster/pubsub/DistributedPubSubExtension.js.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubMediator.d.ts +3 -7
- package/dist/cluster/pubsub/DistributedPubSubMediator.d.ts.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubMediator.js +3 -3
- package/dist/cluster/pubsub/DistributedPubSubMediator.js.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubOptions.d.ts +29 -0
- package/dist/cluster/pubsub/DistributedPubSubOptions.d.ts.map +1 -0
- package/dist/cluster/pubsub/DistributedPubSubOptions.js +23 -0
- package/dist/cluster/pubsub/DistributedPubSubOptions.js.map +1 -0
- package/dist/cluster/pubsub/index.d.ts +2 -1
- package/dist/cluster/pubsub/index.d.ts.map +1 -1
- package/dist/cluster/pubsub/index.js +1 -0
- package/dist/cluster/pubsub/index.js.map +1 -1
- package/dist/cluster/router/ClusterRouter.d.ts +12 -32
- package/dist/cluster/router/ClusterRouter.d.ts.map +1 -1
- package/dist/cluster/router/ClusterRouter.js +4 -2
- package/dist/cluster/router/ClusterRouter.js.map +1 -1
- package/dist/cluster/router/ClusterRouterOptions.d.ts +60 -0
- package/dist/cluster/router/ClusterRouterOptions.d.ts.map +1 -0
- package/dist/cluster/router/ClusterRouterOptions.js +41 -0
- package/dist/cluster/router/ClusterRouterOptions.js.map +1 -0
- package/dist/cluster/router/index.d.ts +3 -1
- package/dist/cluster/router/index.d.ts.map +1 -1
- package/dist/cluster/router/index.js +1 -0
- package/dist/cluster/router/index.js.map +1 -1
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.d.ts +1 -15
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.d.ts.map +1 -1
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.js +35 -2
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.js.map +1 -1
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.d.ts +63 -0
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.d.ts.map +1 -0
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.js +63 -0
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.js.map +1 -0
- package/dist/cluster/sharding/ClusterSharding.d.ts +18 -64
- package/dist/cluster/sharding/ClusterSharding.d.ts.map +1 -1
- package/dist/cluster/sharding/ClusterSharding.js +44 -20
- package/dist/cluster/sharding/ClusterSharding.js.map +1 -1
- package/dist/cluster/sharding/CoordinatorState.d.ts +1 -1
- package/dist/cluster/sharding/CoordinatorState.js +1 -1
- package/dist/cluster/sharding/ShardCoordinator.d.ts +3 -63
- package/dist/cluster/sharding/ShardCoordinator.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardCoordinator.js +3 -3
- package/dist/cluster/sharding/ShardCoordinator.js.map +1 -1
- package/dist/cluster/sharding/ShardCoordinatorOptions.d.ts +111 -0
- package/dist/cluster/sharding/ShardCoordinatorOptions.d.ts.map +1 -0
- package/dist/cluster/sharding/ShardCoordinatorOptions.js +69 -0
- package/dist/cluster/sharding/ShardCoordinatorOptions.js.map +1 -0
- package/dist/cluster/sharding/ShardRegion.d.ts +2 -33
- package/dist/cluster/sharding/ShardRegion.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardRegion.js.map +1 -1
- package/dist/cluster/sharding/ShardedDaemonProcess.d.ts +2 -22
- package/dist/cluster/sharding/ShardedDaemonProcess.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardedDaemonProcess.js +14 -11
- package/dist/cluster/sharding/ShardedDaemonProcess.js.map +1 -1
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.d.ts +51 -0
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.d.ts.map +1 -0
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.js +35 -0
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.js.map +1 -0
- package/dist/cluster/sharding/ShardingOptions.d.ts +84 -0
- package/dist/cluster/sharding/ShardingOptions.d.ts.map +1 -0
- package/dist/cluster/sharding/ShardingOptions.js +62 -0
- package/dist/cluster/sharding/ShardingOptions.js.map +1 -0
- package/dist/cluster/sharding/StartShardingOptions.d.ts +98 -0
- package/dist/cluster/sharding/StartShardingOptions.d.ts.map +1 -0
- package/dist/cluster/sharding/StartShardingOptions.js +52 -0
- package/dist/cluster/sharding/StartShardingOptions.js.map +1 -0
- package/dist/cluster/singleton/ClusterSingleton.d.ts +2 -30
- package/dist/cluster/singleton/ClusterSingleton.d.ts.map +1 -1
- package/dist/cluster/singleton/ClusterSingleton.js +15 -9
- package/dist/cluster/singleton/ClusterSingleton.js.map +1 -1
- package/dist/cluster/singleton/ClusterSingletonManager.d.ts +3 -18
- package/dist/cluster/singleton/ClusterSingletonManager.d.ts.map +1 -1
- package/dist/cluster/singleton/ClusterSingletonManager.js +3 -3
- package/dist/cluster/singleton/ClusterSingletonManager.js.map +1 -1
- package/dist/cluster/singleton/ClusterSingletonManagerOptions.d.ts +49 -0
- package/dist/cluster/singleton/ClusterSingletonManagerOptions.d.ts.map +1 -0
- package/dist/cluster/singleton/ClusterSingletonManagerOptions.js +40 -0
- package/dist/cluster/singleton/ClusterSingletonManagerOptions.js.map +1 -0
- package/dist/cluster/singleton/StartSingletonOptions.d.ts +64 -0
- package/dist/cluster/singleton/StartSingletonOptions.d.ts.map +1 -0
- package/dist/cluster/singleton/StartSingletonOptions.js +40 -0
- package/dist/cluster/singleton/StartSingletonOptions.js.map +1 -0
- package/dist/cluster/singleton/index.d.ts +6 -2
- package/dist/cluster/singleton/index.d.ts.map +1 -1
- package/dist/cluster/singleton/index.js +2 -0
- package/dist/cluster/singleton/index.js.map +1 -1
- package/dist/config/ConfigKeys.d.ts +5 -0
- package/dist/config/ConfigKeys.d.ts.map +1 -1
- package/dist/config/ConfigKeys.js +5 -0
- package/dist/config/ConfigKeys.js.map +1 -1
- package/dist/coordination/Lease.d.ts +32 -14
- package/dist/coordination/Lease.d.ts.map +1 -1
- package/dist/coordination/LeaseOptions.d.ts +61 -0
- package/dist/coordination/LeaseOptions.d.ts.map +1 -0
- package/dist/coordination/LeaseOptions.js +50 -0
- package/dist/coordination/LeaseOptions.js.map +1 -0
- package/dist/coordination/index.d.ts +5 -2
- package/dist/coordination/index.d.ts.map +1 -1
- package/dist/coordination/index.js +2 -0
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/leases/InMemoryLease.d.ts +18 -5
- package/dist/coordination/leases/InMemoryLease.d.ts.map +1 -1
- package/dist/coordination/leases/InMemoryLease.js +23 -11
- package/dist/coordination/leases/InMemoryLease.js.map +1 -1
- package/dist/coordination/leases/KubernetesLease.d.ts +19 -24
- package/dist/coordination/leases/KubernetesLease.d.ts.map +1 -1
- package/dist/coordination/leases/KubernetesLease.js +28 -9
- package/dist/coordination/leases/KubernetesLease.js.map +1 -1
- package/dist/coordination/leases/KubernetesLeaseOptions.d.ts +58 -0
- package/dist/coordination/leases/KubernetesLeaseOptions.d.ts.map +1 -0
- package/dist/coordination/leases/KubernetesLeaseOptions.js +42 -0
- package/dist/coordination/leases/KubernetesLeaseOptions.js.map +1 -0
- package/dist/crdt/DistributedData.d.ts +2 -22
- package/dist/crdt/DistributedData.d.ts.map +1 -1
- package/dist/crdt/DistributedData.js +3 -2
- package/dist/crdt/DistributedData.js.map +1 -1
- package/dist/crdt/DistributedDataOptions.d.ts +50 -0
- package/dist/crdt/DistributedDataOptions.d.ts.map +1 -0
- package/dist/crdt/DistributedDataOptions.js +28 -0
- package/dist/crdt/DistributedDataOptions.js.map +1 -0
- package/dist/crdt/index.d.ts +3 -1
- package/dist/crdt/index.d.ts.map +1 -1
- package/dist/crdt/index.js +1 -0
- package/dist/crdt/index.js.map +1 -1
- package/dist/delivery/ProducerController.d.ts +4 -19
- package/dist/delivery/ProducerController.d.ts.map +1 -1
- package/dist/delivery/ProducerController.js +4 -3
- package/dist/delivery/ProducerController.js.map +1 -1
- package/dist/delivery/ProducerControllerOptions.d.ts +50 -0
- package/dist/delivery/ProducerControllerOptions.d.ts.map +1 -0
- package/dist/delivery/ProducerControllerOptions.js +36 -0
- package/dist/delivery/ProducerControllerOptions.js.map +1 -0
- package/dist/delivery/ReliableDelivery.d.ts +3 -2
- package/dist/delivery/ReliableDelivery.d.ts.map +1 -1
- package/dist/delivery/ReliableDelivery.js +2 -2
- package/dist/delivery/ReliableDelivery.js.map +1 -1
- package/dist/delivery/index.d.ts +3 -1
- package/dist/delivery/index.d.ts.map +1 -1
- package/dist/delivery/index.js +1 -0
- package/dist/delivery/index.js.map +1 -1
- package/dist/discovery/AutoDiscoveryOptions.d.ts +72 -0
- package/dist/discovery/AutoDiscoveryOptions.d.ts.map +1 -0
- package/dist/discovery/AutoDiscoveryOptions.js +34 -0
- package/dist/discovery/AutoDiscoveryOptions.js.map +1 -0
- package/dist/discovery/ConfigSeedProvider.d.ts +2 -7
- package/dist/discovery/ConfigSeedProvider.d.ts.map +1 -1
- package/dist/discovery/ConfigSeedProvider.js +4 -3
- package/dist/discovery/ConfigSeedProvider.js.map +1 -1
- package/dist/discovery/ConfigSeedProviderOptions.d.ts +34 -0
- package/dist/discovery/ConfigSeedProviderOptions.d.ts.map +1 -0
- package/dist/discovery/ConfigSeedProviderOptions.js +27 -0
- package/dist/discovery/ConfigSeedProviderOptions.js.map +1 -0
- package/dist/discovery/DnsSeedProvider.d.ts +3 -27
- package/dist/discovery/DnsSeedProvider.d.ts.map +1 -1
- package/dist/discovery/DnsSeedProvider.js +4 -4
- package/dist/discovery/DnsSeedProvider.js.map +1 -1
- package/dist/discovery/DnsSeedProviderOptions.d.ts +67 -0
- package/dist/discovery/DnsSeedProviderOptions.d.ts.map +1 -0
- package/dist/discovery/DnsSeedProviderOptions.js +48 -0
- package/dist/discovery/DnsSeedProviderOptions.js.map +1 -0
- package/dist/discovery/KubernetesApiSeedProvider.d.ts +2 -13
- package/dist/discovery/KubernetesApiSeedProvider.d.ts.map +1 -1
- package/dist/discovery/KubernetesApiSeedProvider.js +2 -2
- package/dist/discovery/KubernetesApiSeedProvider.js.map +1 -1
- package/dist/discovery/KubernetesApiSeedProviderOptions.d.ts +46 -0
- package/dist/discovery/KubernetesApiSeedProviderOptions.d.ts.map +1 -0
- package/dist/discovery/KubernetesApiSeedProviderOptions.js +39 -0
- package/dist/discovery/KubernetesApiSeedProviderOptions.js.map +1 -0
- package/dist/discovery/Receptionist.d.ts +3 -6
- package/dist/discovery/Receptionist.d.ts.map +1 -1
- package/dist/discovery/Receptionist.js +10 -3
- package/dist/discovery/Receptionist.js.map +1 -1
- package/dist/discovery/ReceptionistOptions.d.ts +30 -0
- package/dist/discovery/ReceptionistOptions.d.ts.map +1 -0
- package/dist/discovery/ReceptionistOptions.js +24 -0
- package/dist/discovery/ReceptionistOptions.js.map +1 -0
- package/dist/discovery/autoDiscovery.d.ts +3 -44
- package/dist/discovery/autoDiscovery.d.ts.map +1 -1
- package/dist/discovery/autoDiscovery.js +31 -32
- package/dist/discovery/autoDiscovery.js.map +1 -1
- package/dist/discovery/index.d.ts +10 -5
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +5 -0
- package/dist/discovery/index.js.map +1 -1
- package/dist/http/HttpExtension.d.ts.map +1 -1
- package/dist/http/HttpExtension.js +69 -8
- package/dist/http/HttpExtension.js.map +1 -1
- package/dist/http/Route.d.ts +76 -4
- package/dist/http/Route.d.ts.map +1 -1
- package/dist/http/Route.js +74 -1
- package/dist/http/Route.js.map +1 -1
- package/dist/http/backend/ExpressBackend.d.ts +18 -12
- package/dist/http/backend/ExpressBackend.d.ts.map +1 -1
- package/dist/http/backend/ExpressBackend.js +134 -8
- package/dist/http/backend/ExpressBackend.js.map +1 -1
- package/dist/http/backend/ExpressBackendOptions.d.ts +47 -0
- package/dist/http/backend/ExpressBackendOptions.d.ts.map +1 -0
- package/dist/http/backend/ExpressBackendOptions.js +35 -0
- package/dist/http/backend/ExpressBackendOptions.js.map +1 -0
- package/dist/http/backend/FastifyBackend.d.ts +4 -1
- package/dist/http/backend/FastifyBackend.d.ts.map +1 -1
- package/dist/http/backend/FastifyBackend.js +71 -1
- package/dist/http/backend/FastifyBackend.js.map +1 -1
- package/dist/http/backend/HonoBackend.d.ts +19 -13
- package/dist/http/backend/HonoBackend.d.ts.map +1 -1
- package/dist/http/backend/HonoBackend.js +152 -5
- package/dist/http/backend/HonoBackend.js.map +1 -1
- package/dist/http/backend/HonoBackendOptions.d.ts +47 -0
- package/dist/http/backend/HonoBackendOptions.d.ts.map +1 -0
- package/dist/http/backend/HonoBackendOptions.js +35 -0
- package/dist/http/backend/HonoBackendOptions.js.map +1 -0
- package/dist/http/backend/HttpServerBackend.d.ts +24 -0
- package/dist/http/backend/HttpServerBackend.d.ts.map +1 -1
- package/dist/http/index.d.ts +11 -5
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +8 -1
- package/dist/http/index.js.map +1 -1
- package/dist/http/middleware/BearerToken.d.ts +44 -0
- package/dist/http/middleware/BearerToken.d.ts.map +1 -0
- package/dist/http/middleware/BearerToken.js +72 -0
- package/dist/http/middleware/BearerToken.js.map +1 -0
- package/dist/http/middleware/IpAllowlist.d.ts +45 -0
- package/dist/http/middleware/IpAllowlist.d.ts.map +1 -0
- package/dist/http/middleware/IpAllowlist.js +148 -0
- package/dist/http/middleware/IpAllowlist.js.map +1 -0
- package/dist/http/middleware/index.d.ts +5 -0
- package/dist/http/middleware/index.d.ts.map +1 -0
- package/dist/http/middleware/index.js +3 -0
- package/dist/http/middleware/index.js.map +1 -0
- package/dist/http/types.d.ts +9 -0
- package/dist/http/types.d.ts.map +1 -1
- package/dist/http/types.js.map +1 -1
- package/dist/http/ws/ConnectionWiring.d.ts +59 -0
- package/dist/http/ws/ConnectionWiring.d.ts.map +1 -0
- package/dist/http/ws/ConnectionWiring.js +112 -0
- package/dist/http/ws/ConnectionWiring.js.map +1 -0
- package/dist/http/ws/SocketAdapter.d.ts +72 -0
- package/dist/http/ws/SocketAdapter.d.ts.map +1 -0
- package/dist/http/ws/SocketAdapter.js +97 -0
- package/dist/http/ws/SocketAdapter.js.map +1 -0
- package/dist/http/ws/WebSocketClientActor.d.ts +66 -0
- package/dist/http/ws/WebSocketClientActor.d.ts.map +1 -0
- package/dist/http/ws/WebSocketClientActor.js +194 -0
- package/dist/http/ws/WebSocketClientActor.js.map +1 -0
- package/dist/http/ws/WebSocketClientOptions.d.ts +77 -0
- package/dist/http/ws/WebSocketClientOptions.d.ts.map +1 -0
- package/dist/http/ws/WebSocketClientOptions.js +69 -0
- package/dist/http/ws/WebSocketClientOptions.js.map +1 -0
- package/dist/http/ws/WebSocketConnectionActor.d.ts +51 -0
- package/dist/http/ws/WebSocketConnectionActor.d.ts.map +1 -0
- package/dist/http/ws/WebSocketConnectionActor.js +170 -0
- package/dist/http/ws/WebSocketConnectionActor.js.map +1 -0
- package/dist/http/ws/WebSocketRoute.d.ts +20 -0
- package/dist/http/ws/WebSocketRoute.d.ts.map +1 -0
- package/dist/http/ws/WebSocketRoute.js +44 -0
- package/dist/http/ws/WebSocketRoute.js.map +1 -0
- package/dist/http/ws/WebSocketRouteOptions.d.ts +54 -0
- package/dist/http/ws/WebSocketRouteOptions.d.ts.map +1 -0
- package/dist/http/ws/WebSocketRouteOptions.js +55 -0
- package/dist/http/ws/WebSocketRouteOptions.js.map +1 -0
- package/dist/http/ws/WebSocketServerActor.d.ts +65 -0
- package/dist/http/ws/WebSocketServerActor.d.ts.map +1 -0
- package/dist/http/ws/WebSocketServerActor.js +133 -0
- package/dist/http/ws/WebSocketServerActor.js.map +1 -0
- package/dist/http/ws/WsCodec.d.ts +65 -0
- package/dist/http/ws/WsCodec.d.ts.map +1 -0
- package/dist/http/ws/WsCodec.js +82 -0
- package/dist/http/ws/WsCodec.js.map +1 -0
- package/dist/http/ws/WsConnection.d.ts +59 -0
- package/dist/http/ws/WsConnection.d.ts.map +1 -0
- package/dist/http/ws/WsConnection.js +45 -0
- package/dist/http/ws/WsConnection.js.map +1 -0
- package/dist/http/ws/WsMessages.d.ts +91 -0
- package/dist/http/ws/WsMessages.d.ts.map +1 -0
- package/dist/http/ws/WsMessages.js +90 -0
- package/dist/http/ws/WsMessages.js.map +1 -0
- package/dist/http/ws/WsPolicy.d.ts +32 -0
- package/dist/http/ws/WsPolicy.d.ts.map +1 -0
- package/dist/http/ws/WsPolicy.js +43 -0
- package/dist/http/ws/WsPolicy.js.map +1 -0
- package/dist/http/ws/index.d.ts +22 -0
- package/dist/http/ws/index.d.ts.map +1 -0
- package/dist/http/ws/index.js +15 -0
- package/dist/http/ws/index.js.map +1 -0
- package/dist/http/ws/matchPattern.d.ts +12 -0
- package/dist/http/ws/matchPattern.d.ts.map +1 -0
- package/dist/http/ws/matchPattern.js +29 -0
- package/dist/http/ws/matchPattern.js.map +1 -0
- package/dist/http/ws/rawResponse.d.ts +15 -0
- package/dist/http/ws/rawResponse.d.ts.map +1 -0
- package/dist/http/ws/rawResponse.js +54 -0
- package/dist/http/ws/rawResponse.js.map +1 -0
- package/dist/http/ws/types.d.ts +70 -0
- package/dist/http/ws/types.d.ts.map +1 -0
- package/dist/http/ws/types.js +81 -0
- package/dist/http/ws/types.js.map +1 -0
- package/dist/http/ws/wsCtor.d.ts +34 -0
- package/dist/http/ws/wsCtor.d.ts.map +1 -0
- package/dist/http/ws/wsCtor.js +38 -0
- package/dist/http/ws/wsCtor.js.map +1 -0
- package/dist/index.d.ts +25 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -11
- package/dist/index.js.map +1 -1
- package/dist/internal/ActorCell.d.ts +16 -1
- package/dist/internal/ActorCell.d.ts.map +1 -1
- package/dist/internal/ActorCell.js +32 -2
- package/dist/internal/ActorCell.js.map +1 -1
- package/dist/io/broker/AmqpActor.d.ts +19 -16
- package/dist/io/broker/AmqpActor.d.ts.map +1 -1
- package/dist/io/broker/AmqpActor.js +13 -5
- package/dist/io/broker/AmqpActor.js.map +1 -1
- package/dist/io/broker/AmqpOptions.d.ts +41 -0
- package/dist/io/broker/AmqpOptions.d.ts.map +1 -0
- package/dist/io/broker/AmqpOptions.js +34 -0
- package/dist/io/broker/AmqpOptions.js.map +1 -0
- package/dist/io/broker/BrokerActor.d.ts +4 -3
- package/dist/io/broker/BrokerActor.d.ts.map +1 -1
- package/dist/io/broker/BrokerActor.js +4 -2
- package/dist/io/broker/BrokerActor.js.map +1 -1
- package/dist/io/broker/BrokerOptions.d.ts +24 -0
- package/dist/io/broker/BrokerOptions.d.ts.map +1 -0
- package/dist/io/broker/BrokerOptions.js +29 -0
- package/dist/io/broker/BrokerOptions.js.map +1 -0
- package/dist/io/broker/BrokerSettings.d.ts +2 -2
- package/dist/io/broker/BrokerSettings.d.ts.map +1 -1
- package/dist/io/broker/BrokerSettings.js.map +1 -1
- package/dist/io/broker/GrpcClientActor.d.ts +6 -19
- package/dist/io/broker/GrpcClientActor.d.ts.map +1 -1
- package/dist/io/broker/GrpcClientActor.js +1 -1
- package/dist/io/broker/GrpcClientActor.js.map +1 -1
- package/dist/io/broker/GrpcClientOptions.d.ts +48 -0
- package/dist/io/broker/GrpcClientOptions.d.ts.map +1 -0
- package/dist/io/broker/GrpcClientOptions.js +42 -0
- package/dist/io/broker/GrpcClientOptions.js.map +1 -0
- package/dist/io/broker/GrpcServerActor.d.ts +3 -24
- package/dist/io/broker/GrpcServerActor.d.ts.map +1 -1
- package/dist/io/broker/GrpcServerActor.js +3 -3
- package/dist/io/broker/GrpcServerActor.js.map +1 -1
- package/dist/io/broker/GrpcServerOptions.d.ts +58 -0
- package/dist/io/broker/GrpcServerOptions.d.ts.map +1 -0
- package/dist/io/broker/GrpcServerOptions.js +44 -0
- package/dist/io/broker/GrpcServerOptions.js.map +1 -0
- package/dist/io/broker/JetStreamActor.d.ts +13 -35
- package/dist/io/broker/JetStreamActor.d.ts.map +1 -1
- package/dist/io/broker/JetStreamActor.js +2 -2
- package/dist/io/broker/JetStreamActor.js.map +1 -1
- package/dist/io/broker/JetStreamOptions.d.ts +64 -0
- package/dist/io/broker/JetStreamOptions.d.ts.map +1 -0
- package/dist/io/broker/JetStreamOptions.js +54 -0
- package/dist/io/broker/JetStreamOptions.js.map +1 -0
- package/dist/io/broker/KafkaActor.d.ts +13 -54
- package/dist/io/broker/KafkaActor.d.ts.map +1 -1
- package/dist/io/broker/KafkaActor.js +20 -8
- package/dist/io/broker/KafkaActor.js.map +1 -1
- package/dist/io/broker/KafkaOptions.d.ts +82 -0
- package/dist/io/broker/KafkaOptions.d.ts.map +1 -0
- package/dist/io/broker/KafkaOptions.js +50 -0
- package/dist/io/broker/KafkaOptions.js.map +1 -0
- package/dist/io/broker/MqttActor.d.ts +174 -114
- package/dist/io/broker/MqttActor.d.ts.map +1 -1
- package/dist/io/broker/MqttActor.js +328 -103
- package/dist/io/broker/MqttActor.js.map +1 -1
- package/dist/io/broker/MqttCodec.d.ts +70 -0
- package/dist/io/broker/MqttCodec.d.ts.map +1 -0
- package/dist/io/broker/MqttCodec.js +98 -0
- package/dist/io/broker/MqttCodec.js.map +1 -0
- package/dist/io/broker/MqttMessages.d.ts +145 -0
- package/dist/io/broker/MqttMessages.d.ts.map +1 -0
- package/dist/io/broker/MqttMessages.js +102 -0
- package/dist/io/broker/MqttMessages.js.map +1 -0
- package/dist/io/broker/MqttOptions.d.ts +100 -0
- package/dist/io/broker/MqttOptions.d.ts.map +1 -0
- package/dist/io/broker/MqttOptions.js +73 -0
- package/dist/io/broker/MqttOptions.js.map +1 -0
- package/dist/io/broker/NatsActor.d.ts +6 -21
- package/dist/io/broker/NatsActor.d.ts.map +1 -1
- package/dist/io/broker/NatsActor.js +1 -1
- package/dist/io/broker/NatsActor.js.map +1 -1
- package/dist/io/broker/NatsOptions.d.ts +51 -0
- package/dist/io/broker/NatsOptions.d.ts.map +1 -0
- package/dist/io/broker/NatsOptions.js +42 -0
- package/dist/io/broker/NatsOptions.js.map +1 -0
- package/dist/io/broker/RedisStreamsActor.d.ts +6 -24
- package/dist/io/broker/RedisStreamsActor.d.ts.map +1 -1
- package/dist/io/broker/RedisStreamsActor.js +1 -1
- package/dist/io/broker/RedisStreamsActor.js.map +1 -1
- package/dist/io/broker/RedisStreamsOptions.d.ts +51 -0
- package/dist/io/broker/RedisStreamsOptions.d.ts.map +1 -0
- package/dist/io/broker/RedisStreamsOptions.js +38 -0
- package/dist/io/broker/RedisStreamsOptions.js.map +1 -0
- package/dist/io/broker/SseActor.d.ts +6 -15
- package/dist/io/broker/SseActor.d.ts.map +1 -1
- package/dist/io/broker/SseActor.js +1 -1
- package/dist/io/broker/SseActor.js.map +1 -1
- package/dist/io/broker/SseOptions.d.ts +38 -0
- package/dist/io/broker/SseOptions.d.ts.map +1 -0
- package/dist/io/broker/SseOptions.js +30 -0
- package/dist/io/broker/SseOptions.js.map +1 -0
- package/dist/io/broker/TcpSocketActor.d.ts +6 -21
- package/dist/io/broker/TcpSocketActor.d.ts.map +1 -1
- package/dist/io/broker/TcpSocketActor.js +1 -1
- package/dist/io/broker/TcpSocketActor.js.map +1 -1
- package/dist/io/broker/TcpSocketOptions.d.ts +46 -0
- package/dist/io/broker/TcpSocketOptions.d.ts.map +1 -0
- package/dist/io/broker/TcpSocketOptions.js +34 -0
- package/dist/io/broker/TcpSocketOptions.js.map +1 -0
- package/dist/io/broker/UdpSocketActor.d.ts +6 -17
- package/dist/io/broker/UdpSocketActor.d.ts.map +1 -1
- package/dist/io/broker/UdpSocketActor.js +1 -1
- package/dist/io/broker/UdpSocketActor.js.map +1 -1
- package/dist/io/broker/UdpSocketOptions.d.ts +42 -0
- package/dist/io/broker/UdpSocketOptions.d.ts.map +1 -0
- package/dist/io/broker/UdpSocketOptions.js +34 -0
- package/dist/io/broker/UdpSocketOptions.js.map +1 -0
- package/dist/io/broker/index.d.ts +39 -19
- package/dist/io/broker/index.d.ts.map +1 -1
- package/dist/io/broker/index.js +21 -4
- package/dist/io/broker/index.js.map +1 -1
- package/dist/mailbox/BoundedMailbox.d.ts +12 -0
- package/dist/mailbox/BoundedMailbox.d.ts.map +1 -1
- package/dist/mailbox/BoundedMailbox.js +7 -1
- package/dist/mailbox/BoundedMailbox.js.map +1 -1
- package/dist/management/HttpManagement.d.ts +34 -1
- package/dist/management/HttpManagement.d.ts.map +1 -1
- package/dist/management/HttpManagement.js +30 -4
- package/dist/management/HttpManagement.js.map +1 -1
- package/dist/metrics/PromClientAdapter.d.ts +2 -12
- package/dist/metrics/PromClientAdapter.d.ts.map +1 -1
- package/dist/metrics/PromClientAdapter.js +2 -2
- package/dist/metrics/PromClientAdapter.js.map +1 -1
- package/dist/metrics/PromClientAdapterOptions.d.ts +46 -0
- package/dist/metrics/PromClientAdapterOptions.d.ts.map +1 -0
- package/dist/metrics/PromClientAdapterOptions.js +35 -0
- package/dist/metrics/PromClientAdapterOptions.js.map +1 -0
- package/dist/metrics/index.d.ts +3 -1
- package/dist/metrics/index.d.ts.map +1 -1
- package/dist/metrics/index.js +1 -0
- package/dist/metrics/index.js.map +1 -1
- package/dist/persistence/DurableStateActor.d.ts +4 -9
- package/dist/persistence/DurableStateActor.d.ts.map +1 -1
- package/dist/persistence/DurableStateActor.js +3 -3
- package/dist/persistence/DurableStateActor.js.map +1 -1
- package/dist/persistence/DurableStateOptions.d.ts +40 -0
- package/dist/persistence/DurableStateOptions.d.ts.map +1 -0
- package/dist/persistence/DurableStateOptions.js +36 -0
- package/dist/persistence/DurableStateOptions.js.map +1 -0
- package/dist/persistence/PersistenceOptions.d.ts +45 -0
- package/dist/persistence/PersistenceOptions.d.ts.map +1 -1
- package/dist/persistence/ReplicatedEventSourcedActor.d.ts.map +1 -1
- package/dist/persistence/ReplicatedEventSourcedActor.js +2 -2
- package/dist/persistence/ReplicatedEventSourcedActor.js.map +1 -1
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStore.d.ts +32 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStore.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStore.js +120 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStore.js.map +1 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStoreOptions.d.ts +38 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStoreOptions.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStoreOptions.js +38 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStoreOptions.js.map +1 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.d.ts +4 -9
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.d.ts.map +1 -1
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.js +49 -7
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.js.map +1 -1
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.d.ts +61 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.js +42 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.js.map +1 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.d.ts +38 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.js +121 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.js.map +1 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStoreOptions.d.ts +38 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStoreOptions.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStoreOptions.js +38 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStoreOptions.js.map +1 -0
- package/dist/persistence/index.d.ts +59 -16
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +33 -2
- package/dist/persistence/index.js.map +1 -1
- package/dist/persistence/journals/CassandraJournal.d.ts +1 -48
- package/dist/persistence/journals/CassandraJournal.d.ts.map +1 -1
- package/dist/persistence/journals/CassandraJournal.js +2 -2
- package/dist/persistence/journals/CassandraJournal.js.map +1 -1
- package/dist/persistence/journals/CassandraJournalOptions.d.ts +107 -0
- package/dist/persistence/journals/CassandraJournalOptions.d.ts.map +1 -0
- package/dist/persistence/journals/CassandraJournalOptions.js +90 -0
- package/dist/persistence/journals/CassandraJournalOptions.js.map +1 -0
- package/dist/persistence/journals/CassandraPlugin.d.ts +1 -16
- package/dist/persistence/journals/CassandraPlugin.d.ts.map +1 -1
- package/dist/persistence/journals/CassandraPlugin.js +9 -4
- package/dist/persistence/journals/CassandraPlugin.js.map +1 -1
- package/dist/persistence/journals/CassandraPluginOptions.d.ts +51 -0
- package/dist/persistence/journals/CassandraPluginOptions.d.ts.map +1 -0
- package/dist/persistence/journals/CassandraPluginOptions.js +37 -0
- package/dist/persistence/journals/CassandraPluginOptions.js.map +1 -0
- package/dist/persistence/journals/MariaDbClient.d.ts +54 -0
- package/dist/persistence/journals/MariaDbClient.d.ts.map +1 -0
- package/dist/persistence/journals/MariaDbClient.js +40 -0
- package/dist/persistence/journals/MariaDbClient.js.map +1 -0
- package/dist/persistence/journals/MariaDbJournal.d.ts +29 -0
- package/dist/persistence/journals/MariaDbJournal.d.ts.map +1 -0
- package/dist/persistence/journals/MariaDbJournal.js +161 -0
- package/dist/persistence/journals/MariaDbJournal.js.map +1 -0
- package/dist/persistence/journals/MariaDbJournalOptions.d.ts +43 -0
- package/dist/persistence/journals/MariaDbJournalOptions.d.ts.map +1 -0
- package/dist/persistence/journals/MariaDbJournalOptions.js +43 -0
- package/dist/persistence/journals/MariaDbJournalOptions.js.map +1 -0
- package/dist/persistence/journals/MariaDbPlugin.d.ts +27 -0
- package/dist/persistence/journals/MariaDbPlugin.d.ts.map +1 -0
- package/dist/persistence/journals/MariaDbPlugin.js +30 -0
- package/dist/persistence/journals/MariaDbPlugin.js.map +1 -0
- package/dist/persistence/journals/MariaDbPluginOptions.d.ts +52 -0
- package/dist/persistence/journals/MariaDbPluginOptions.d.ts.map +1 -0
- package/dist/persistence/journals/MariaDbPluginOptions.js +38 -0
- package/dist/persistence/journals/MariaDbPluginOptions.js.map +1 -0
- package/dist/persistence/journals/PostgresClient.d.ts +56 -0
- package/dist/persistence/journals/PostgresClient.d.ts.map +1 -0
- package/dist/persistence/journals/PostgresClient.js +35 -0
- package/dist/persistence/journals/PostgresClient.js.map +1 -0
- package/dist/persistence/journals/PostgresJournal.d.ts +41 -0
- package/dist/persistence/journals/PostgresJournal.d.ts.map +1 -0
- package/dist/persistence/journals/PostgresJournal.js +176 -0
- package/dist/persistence/journals/PostgresJournal.js.map +1 -0
- package/dist/persistence/journals/PostgresJournalOptions.d.ts +44 -0
- package/dist/persistence/journals/PostgresJournalOptions.d.ts.map +1 -0
- package/dist/persistence/journals/PostgresJournalOptions.js +44 -0
- package/dist/persistence/journals/PostgresJournalOptions.js.map +1 -0
- package/dist/persistence/journals/PostgresPlugin.d.ts +32 -0
- package/dist/persistence/journals/PostgresPlugin.d.ts.map +1 -0
- package/dist/persistence/journals/PostgresPlugin.js +35 -0
- package/dist/persistence/journals/PostgresPlugin.js.map +1 -0
- package/dist/persistence/journals/PostgresPluginOptions.d.ts +54 -0
- package/dist/persistence/journals/PostgresPluginOptions.d.ts.map +1 -0
- package/dist/persistence/journals/PostgresPluginOptions.js +39 -0
- package/dist/persistence/journals/PostgresPluginOptions.js.map +1 -0
- package/dist/persistence/journals/SqliteJournal.d.ts +5 -19
- package/dist/persistence/journals/SqliteJournal.d.ts.map +1 -1
- package/dist/persistence/journals/SqliteJournal.js +10 -9
- package/dist/persistence/journals/SqliteJournal.js.map +1 -1
- package/dist/persistence/journals/SqliteJournalOptions.d.ts +41 -0
- package/dist/persistence/journals/SqliteJournalOptions.d.ts.map +1 -0
- package/dist/persistence/journals/SqliteJournalOptions.js +31 -0
- package/dist/persistence/journals/SqliteJournalOptions.js.map +1 -0
- package/dist/persistence/object-storage/BodyCodec.d.ts +43 -0
- package/dist/persistence/object-storage/BodyCodec.d.ts.map +1 -1
- package/dist/persistence/object-storage/BodyCodec.js +78 -20
- package/dist/persistence/object-storage/BodyCodec.js.map +1 -1
- package/dist/persistence/object-storage/Compression.d.ts +21 -7
- package/dist/persistence/object-storage/Compression.d.ts.map +1 -1
- package/dist/persistence/object-storage/Compression.js +79 -29
- package/dist/persistence/object-storage/Compression.js.map +1 -1
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.d.ts +2 -61
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.d.ts.map +1 -1
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.js +56 -11
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.js.map +1 -1
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.d.ts +45 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.d.ts.map +1 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.js +30 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.js.map +1 -0
- package/dist/persistence/object-storage/Integrity.d.ts +43 -0
- package/dist/persistence/object-storage/Integrity.d.ts.map +1 -0
- package/dist/persistence/object-storage/Integrity.js +66 -0
- package/dist/persistence/object-storage/Integrity.js.map +1 -0
- package/dist/persistence/object-storage/ObjectStoragePlugin.d.ts +6 -22
- package/dist/persistence/object-storage/ObjectStoragePlugin.d.ts.map +1 -1
- package/dist/persistence/object-storage/ObjectStoragePlugin.js +36 -28
- package/dist/persistence/object-storage/ObjectStoragePlugin.js.map +1 -1
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.d.ts +60 -0
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.d.ts.map +1 -0
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.js +52 -0
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.js.map +1 -0
- package/dist/persistence/object-storage/PluginConfig.d.ts +5 -2
- package/dist/persistence/object-storage/PluginConfig.d.ts.map +1 -1
- package/dist/persistence/object-storage/PluginConfig.js +8 -0
- package/dist/persistence/object-storage/PluginConfig.js.map +1 -1
- package/dist/persistence/object-storage/S3ObjectStorageBackend.d.ts +1 -30
- package/dist/persistence/object-storage/S3ObjectStorageBackend.d.ts.map +1 -1
- package/dist/persistence/object-storage/S3ObjectStorageBackend.js +12 -7
- package/dist/persistence/object-storage/S3ObjectStorageBackend.js.map +1 -1
- package/dist/persistence/object-storage/S3ObjectStorageOptions.d.ts +64 -0
- package/dist/persistence/object-storage/S3ObjectStorageOptions.d.ts.map +1 -0
- package/dist/persistence/object-storage/S3ObjectStorageOptions.js +42 -0
- package/dist/persistence/object-storage/S3ObjectStorageOptions.js.map +1 -0
- package/dist/persistence/object-storage/reEncryptionSweep.d.ts +72 -0
- package/dist/persistence/object-storage/reEncryptionSweep.d.ts.map +1 -1
- package/dist/persistence/object-storage/reEncryptionSweep.js +82 -2
- package/dist/persistence/object-storage/reEncryptionSweep.js.map +1 -1
- package/dist/persistence/projection/ProjectionActor.d.ts +4 -24
- package/dist/persistence/projection/ProjectionActor.d.ts.map +1 -1
- package/dist/persistence/projection/ProjectionActor.js +36 -2
- package/dist/persistence/projection/ProjectionActor.js.map +1 -1
- package/dist/persistence/projection/ProjectionOptions.d.ts +109 -0
- package/dist/persistence/projection/ProjectionOptions.d.ts.map +1 -0
- package/dist/persistence/projection/ProjectionOptions.js +108 -0
- package/dist/persistence/projection/ProjectionOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.d.ts +2 -10
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.js +12 -6
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.d.ts +37 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.js +31 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.d.ts +1 -11
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.js +3 -3
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.d.ts +61 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.js +73 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.d.ts +30 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.js +102 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.js.map +1 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStoreOptions.d.ts +42 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStoreOptions.js +42 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStoreOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.d.ts +2 -15
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.js +10 -6
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.d.ts +45 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.js +38 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.d.ts +31 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.js +101 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.js.map +1 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStoreOptions.d.ts +42 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStoreOptions.js +42 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStoreOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.d.ts +2 -15
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.js +7 -6
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/SqliteSnapshotStoreOptions.d.ts +40 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStoreOptions.js +31 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStoreOptions.js.map +1 -0
- package/dist/runtime/http/BunHonoRunner.d.ts +7 -1
- package/dist/runtime/http/BunHonoRunner.d.ts.map +1 -1
- package/dist/runtime/http/BunHonoRunner.js +22 -0
- package/dist/runtime/http/BunHonoRunner.js.map +1 -1
- package/dist/runtime/http/DenoHonoRunner.d.ts +5 -2
- package/dist/runtime/http/DenoHonoRunner.d.ts.map +1 -1
- package/dist/runtime/http/DenoHonoRunner.js +19 -2
- package/dist/runtime/http/DenoHonoRunner.js.map +1 -1
- package/dist/runtime/http/HonoServerRunner.d.ts +39 -0
- package/dist/runtime/http/HonoServerRunner.d.ts.map +1 -1
- package/dist/runtime/http/NodeHonoRunner.d.ts +3 -1
- package/dist/runtime/http/NodeHonoRunner.d.ts.map +1 -1
- package/dist/runtime/http/NodeHonoRunner.js +22 -0
- package/dist/runtime/http/NodeHonoRunner.js.map +1 -1
- package/dist/runtime/http/index.d.ts +1 -1
- package/dist/runtime/http/index.d.ts.map +1 -1
- package/dist/runtime/http/index.js.map +1 -1
- package/dist/testkit/ManualScheduler.d.ts +2 -1
- package/dist/testkit/ManualScheduler.d.ts.map +1 -1
- package/dist/testkit/ManualScheduler.js +2 -1
- package/dist/testkit/ManualScheduler.js.map +1 -1
- package/dist/testkit/MockCluster.d.ts +74 -0
- package/dist/testkit/MockCluster.d.ts.map +1 -0
- package/dist/testkit/MockCluster.js +163 -0
- package/dist/testkit/MockCluster.js.map +1 -0
- package/dist/testkit/MultiNodeClusterFixture.d.ts +62 -0
- package/dist/testkit/MultiNodeClusterFixture.d.ts.map +1 -0
- package/dist/testkit/MultiNodeClusterFixture.js +43 -0
- package/dist/testkit/MultiNodeClusterFixture.js.map +1 -0
- package/dist/testkit/MultiNodeSpec.d.ts +45 -3
- package/dist/testkit/MultiNodeSpec.d.ts.map +1 -1
- package/dist/testkit/MultiNodeSpec.js +108 -14
- package/dist/testkit/MultiNodeSpec.js.map +1 -1
- package/dist/testkit/ParallelMultiNodeSpec.d.ts +12 -2
- package/dist/testkit/ParallelMultiNodeSpec.d.ts.map +1 -1
- package/dist/testkit/ParallelMultiNodeSpec.js +49 -4
- package/dist/testkit/ParallelMultiNodeSpec.js.map +1 -1
- package/dist/testkit/SnapshotMigrationTest.d.ts +86 -0
- package/dist/testkit/SnapshotMigrationTest.d.ts.map +1 -0
- package/dist/testkit/SnapshotMigrationTest.js +77 -0
- package/dist/testkit/SnapshotMigrationTest.js.map +1 -0
- package/dist/testkit/TestKit.d.ts +6 -8
- package/dist/testkit/TestKit.d.ts.map +1 -1
- package/dist/testkit/TestKit.js +10 -6
- package/dist/testkit/TestKit.js.map +1 -1
- package/dist/testkit/TestKitOptions.d.ts +26 -0
- package/dist/testkit/TestKitOptions.d.ts.map +1 -0
- package/dist/testkit/TestKitOptions.js +19 -0
- package/dist/testkit/TestKitOptions.js.map +1 -0
- package/dist/testkit/TestProbe.d.ts +2 -7
- package/dist/testkit/TestProbe.d.ts.map +1 -1
- package/dist/testkit/TestProbe.js +2 -1
- package/dist/testkit/TestProbe.js.map +1 -1
- package/dist/testkit/TestProbeOptions.d.ts +26 -0
- package/dist/testkit/TestProbeOptions.d.ts.map +1 -0
- package/dist/testkit/TestProbeOptions.js +19 -0
- package/dist/testkit/TestProbeOptions.js.map +1 -0
- package/dist/testkit/index.d.ts +10 -2
- package/dist/testkit/index.d.ts.map +1 -1
- package/dist/testkit/index.js +5 -0
- package/dist/testkit/index.js.map +1 -1
- package/dist/testkit/internal/parallel-multi-node-bootstrap.d.ts.map +1 -1
- package/dist/testkit/internal/parallel-multi-node-bootstrap.js +16 -12
- package/dist/testkit/internal/parallel-multi-node-bootstrap.js.map +1 -1
- package/dist/tracing/OtelAdapter.d.ts +4 -12
- package/dist/tracing/OtelAdapter.d.ts.map +1 -1
- package/dist/tracing/OtelAdapter.js +4 -2
- package/dist/tracing/OtelAdapter.js.map +1 -1
- package/dist/tracing/OtelAdapterOptions.d.ts +42 -0
- package/dist/tracing/OtelAdapterOptions.d.ts.map +1 -0
- package/dist/tracing/OtelAdapterOptions.js +34 -0
- package/dist/tracing/OtelAdapterOptions.js.map +1 -0
- package/dist/tracing/OtelLogsAdapter.d.ts +100 -0
- package/dist/tracing/OtelLogsAdapter.d.ts.map +1 -0
- package/dist/tracing/OtelLogsAdapter.js +130 -0
- package/dist/tracing/OtelLogsAdapter.js.map +1 -0
- package/dist/tracing/index.d.ts +5 -1
- package/dist/tracing/index.d.ts.map +1 -1
- package/dist/tracing/index.js +2 -0
- package/dist/tracing/index.js.map +1 -1
- package/dist/util/Constants.d.ts +23 -0
- package/dist/util/Constants.d.ts.map +1 -1
- package/dist/util/Constants.js +23 -0
- package/dist/util/Constants.js.map +1 -1
- package/dist/util/Lazy.d.ts +31 -0
- package/dist/util/Lazy.d.ts.map +1 -1
- package/dist/util/Lazy.js +70 -0
- package/dist/util/Lazy.js.map +1 -1
- package/dist/util/OptionsBuilder.d.ts +48 -0
- package/dist/util/OptionsBuilder.d.ts.map +1 -0
- package/dist/util/OptionsBuilder.js +53 -0
- package/dist/util/OptionsBuilder.js.map +1 -0
- package/dist/worker/WorkerCluster.d.ts +2 -11
- package/dist/worker/WorkerCluster.d.ts.map +1 -1
- package/dist/worker/WorkerCluster.js +2 -1
- package/dist/worker/WorkerCluster.js.map +1 -1
- package/dist/worker/WorkerClusterOptions.d.ts +55 -0
- package/dist/worker/WorkerClusterOptions.d.ts.map +1 -0
- package/dist/worker/WorkerClusterOptions.js +55 -0
- package/dist/worker/WorkerClusterOptions.js.map +1 -0
- package/dist/worker/index.d.ts +3 -1
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +1 -0
- package/dist/worker/index.js.map +1 -1
- package/package.json +56 -13
- package/dist/io/broker/ServerWebSocketActor.d.ts +0 -109
- package/dist/io/broker/ServerWebSocketActor.d.ts.map +0 -1
- package/dist/io/broker/ServerWebSocketActor.js +0 -128
- package/dist/io/broker/ServerWebSocketActor.js.map +0 -1
- package/dist/io/broker/WebSocketActor.d.ts +0 -77
- package/dist/io/broker/WebSocketActor.d.ts.map +0 -1
- package/dist/io/broker/WebSocketActor.js +0 -217
- package/dist/io/broker/WebSocketActor.js.map +0 -1
- package/dist/io/broker/WebSocketServerAdapters.d.ts +0 -140
- package/dist/io/broker/WebSocketServerAdapters.d.ts.map +0 -1
- package/dist/io/broker/WebSocketServerAdapters.js +0 -155
- package/dist/io/broker/WebSocketServerAdapters.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ActorRef } from '../../ActorRef.js';
|
|
2
2
|
import type { ActorSystem } from '../../ActorSystem.js';
|
|
3
|
-
import { Props } from '../../Props.js';
|
|
4
3
|
import type { Cluster } from '../Cluster.js';
|
|
4
|
+
import type { ShardedDaemonProcessOptions } from './ShardedDaemonProcessOptions.js';
|
|
5
5
|
/** Envelope the sharded region routes to daemon #index. */
|
|
6
6
|
interface DaemonEnvelope<T> {
|
|
7
7
|
readonly index: number;
|
|
@@ -11,26 +11,6 @@ interface DaemonEnvelope<T> {
|
|
|
11
11
|
interface Wakeup {
|
|
12
12
|
readonly t: 'sharded-daemon.wakeup';
|
|
13
13
|
}
|
|
14
|
-
export interface ShardedDaemonProcessSettings<T> {
|
|
15
|
-
/** Logical name used for the shard type; must be unique per daemon set. */
|
|
16
|
-
readonly name: string;
|
|
17
|
-
/** Total number of daemons to keep running cluster-wide. */
|
|
18
|
-
readonly numDaemons: number;
|
|
19
|
-
/** Props factory — gets the daemon's stable index (0..numDaemons-1). */
|
|
20
|
-
readonly behaviorFor: (daemonIndex: number) => Props<T>;
|
|
21
|
-
/** Optional role — only members carrying the role host daemons. */
|
|
22
|
-
readonly role?: string;
|
|
23
|
-
/**
|
|
24
|
-
* Period (ms) at which a "liveness ping" wakes every daemon index even
|
|
25
|
-
* when no cluster topology event has fired. Acts as a safety net for
|
|
26
|
-
* the event-driven path (`LeaderChanged` / `MemberRemoved`) — if a wake
|
|
27
|
-
* was missed (e.g. brief partition right at the failover moment), the
|
|
28
|
-
* heartbeat ensures the daemons still get re-materialized.
|
|
29
|
-
*
|
|
30
|
-
* Default: `30_000` (30 s). Set to `0` to disable.
|
|
31
|
-
*/
|
|
32
|
-
readonly livenessIntervalMs?: number;
|
|
33
|
-
}
|
|
34
14
|
export interface ShardedDaemonProcessHandle<T> {
|
|
35
15
|
/**
|
|
36
16
|
* Sharded region ref. Messages sent here must carry a `{index, body}`
|
|
@@ -58,7 +38,7 @@ export interface ShardedDaemonProcessHandle<T> {
|
|
|
58
38
|
* machinery to materialize it on the node the coordinator chose.
|
|
59
39
|
*/
|
|
60
40
|
export declare class ShardedDaemonProcess {
|
|
61
|
-
static init<T>(system: ActorSystem, cluster: Cluster,
|
|
41
|
+
static init<T>(system: ActorSystem, cluster: Cluster, options: ShardedDaemonProcessOptions<T>): ShardedDaemonProcessHandle<T>;
|
|
62
42
|
}
|
|
63
43
|
export {};
|
|
64
44
|
//# sourceMappingURL=ShardedDaemonProcess.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShardedDaemonProcess.d.ts","sourceRoot":"","sources":["../../../src/cluster/sharding/ShardedDaemonProcess.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ShardedDaemonProcess.d.ts","sourceRoot":"","sources":["../../../src/cluster/sharding/ShardedDaemonProcess.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK7C,OAAO,KAAK,EAAE,2BAA2B,EAAmC,MAAM,kCAAkC,CAAC;AAErH,2DAA2D;AAC3D,UAAU,cAAc,CAAC,CAAC;IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;CAAE;AAElF,sEAAsE;AACtE,UAAU,MAAM;IAAG,QAAQ,CAAC,CAAC,EAAE,uBAAuB,CAAC;CAAE;AAGzD,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,wCAAwC;IACxC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAEtC;;;;OAIG;IACH,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;;;;;;;;GAUG;AACH,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,EACX,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC,GACtC,0BAA0B,CAAC,CAAC,CAAC;CAgEjC"}
|
|
@@ -4,6 +4,7 @@ import { Props } from '../../Props.js';
|
|
|
4
4
|
import { LeaderChanged, MemberRemoved } from '../ClusterEvents.js';
|
|
5
5
|
import { LeastShardAllocationStrategy } from './AllocationStrategy.js';
|
|
6
6
|
import { ClusterSharding } from './ClusterSharding.js';
|
|
7
|
+
import { StartShardingOptions } from './StartShardingOptions.js';
|
|
7
8
|
const WAKEUP = { t: 'sharded-daemon.wakeup' };
|
|
8
9
|
/**
|
|
9
10
|
* Starts exactly N named daemon actors spread across the cluster. Built on
|
|
@@ -17,18 +18,20 @@ const WAKEUP = { t: 'sharded-daemon.wakeup' };
|
|
|
17
18
|
* machinery to materialize it on the node the coordinator chose.
|
|
18
19
|
*/
|
|
19
20
|
export class ShardedDaemonProcess {
|
|
20
|
-
static init(system, cluster,
|
|
21
|
+
static init(system, cluster, options) {
|
|
22
|
+
const settings = options;
|
|
21
23
|
const sharding = ClusterSharding.get(system, cluster);
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
const startOptions = StartShardingOptions.create()
|
|
25
|
+
.withTypeName(`daemon-${settings.name}`)
|
|
26
|
+
.withEntityProps(Props.create(() => new DaemonHost(settings.behaviorFor)))
|
|
27
|
+
.withExtractEntityId((env) => String(env.index))
|
|
28
|
+
.withExtractEntityMessage((env) => env.body)
|
|
29
|
+
.withNumShards(settings.numDaemons)
|
|
30
|
+
.withRememberEntities(true)
|
|
31
|
+
.withAllocationStrategy(new LeastShardAllocationStrategy());
|
|
32
|
+
if (settings.role !== undefined)
|
|
33
|
+
startOptions.withRole(settings.role);
|
|
34
|
+
const region = sharding.start(startOptions);
|
|
32
35
|
// Wake every daemon so the coordinator allocates a shard and the host
|
|
33
36
|
// actor's preStart runs. Afterwards rememberEntities keeps them alive.
|
|
34
37
|
const wakeAll = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShardedDaemonProcess.js","sourceRoot":"","sources":["../../../src/cluster/sharding/ShardedDaemonProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ShardedDaemonProcess.js","sourceRoot":"","sources":["../../../src/cluster/sharding/ShardedDaemonProcess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQjE,MAAM,MAAM,GAAW,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC;AAoBtD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAoB;IAC/B,MAAM,CAAC,IAAI,CACT,MAAmB,EACnB,OAAgB,EAChB,OAAuC;QAEvC,MAAM,QAAQ,GAAG,OAA6C,CAAC;QAC/D,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,EAAqB;aAClE,YAAY,CAAC,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC;aACvC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAI,QAAQ,CAAC,WAAW,CAAwC,CAAC,CAAC;aACnH,mBAAmB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC/C,wBAAwB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;aAC3C,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;aAClC,oBAAoB,CAAC,IAAI,CAAC;aAC1B,sBAAsB,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;QAC9D,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAoB,YAAY,CAAC,CAAC;QAE/D,sEAAsE;QACtE,wEAAwE;QACxE,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;QACF,cAAc,CAAC,OAAO,CAAC,CAAC;QAExB,mEAAmE;QACnE,sEAAsE;QACtE,iEAAiE;QACjE,qEAAqE;QACrE,uEAAuE;QACvE,kDAAkD;QAClD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAC5C,KAAK,CAAC,GAAG,CAAC;aACP,IAAI,CACH,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACjE,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CACpC;aACA,SAAS,CAAC,GAAG,EAAE,GAA8C,CAAC,CAAC,CACnE,CAAC;QAEF,qEAAqE;QACrE,qEAAqE;QACrE,+CAA+C;QAC/C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,IAAI,MAAM,CAAC;QACjE,IAAI,aAAa,GAAuB,IAAI,CAAC;QAC7C,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;YAC3B,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,qBAAqB,CACpD,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,CAChD,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO;YACL,MAAM;YACN,IAAI,CAAC,KAAa,EAAE,OAAU;gBAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,IAAI;gBACF,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,aAAa,EAAE,MAAM,EAAE,CAAC;gBACxB,WAAW,EAAE,CAAC;YAChB,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAc,SAAQ,KAAwB;IAGrB;IAFrB,KAAK,GAAuB,IAAI,CAAC;IAEzC,YAA6B,WAAoC;QAAI,KAAK,EAAE,CAAC;QAAhD,gBAAW,GAAX,WAAW,CAAyB;IAAa,CAAC;IAEtE,QAAQ;QACf,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEQ,SAAS,CAAC,GAAmC;QACpD,wEAAwE;QACxE,wEAAwE;QACxE,IAAI,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,+BAA+B;QAC1D,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAQ,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,wEAAwE;IACxE,4DAA4D;IAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAK,CAAoB,CAAC,CAAC,KAAK,uBAAuB,CAAC;AAC7F,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Props } from '../../Props.js';
|
|
2
|
+
import { OptionsBuilder } from '../../util/OptionsBuilder.js';
|
|
3
|
+
/** Plain settings-object shape consumed by {@link ShardedDaemonProcess.init}. */
|
|
4
|
+
export interface ShardedDaemonProcessOptionsType<T> {
|
|
5
|
+
/** Logical name used for the shard type; must be unique per daemon set. */
|
|
6
|
+
readonly name: string;
|
|
7
|
+
/** Total number of daemons to keep running cluster-wide. */
|
|
8
|
+
readonly numDaemons: number;
|
|
9
|
+
/** Props factory — gets the daemon's stable index (0..numDaemons-1). */
|
|
10
|
+
readonly behaviorFor: (daemonIndex: number) => Props<T>;
|
|
11
|
+
/** Optional role — only members carrying the role host daemons. */
|
|
12
|
+
readonly role?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Period (ms) at which a "liveness ping" wakes every daemon index even
|
|
15
|
+
* when no cluster topology event has fired. Acts as a safety net for
|
|
16
|
+
* the event-driven path (`LeaderChanged` / `MemberRemoved`) — if a wake
|
|
17
|
+
* was missed (e.g. brief partition right at the failover moment), the
|
|
18
|
+
* heartbeat ensures the daemons still get re-materialized.
|
|
19
|
+
*
|
|
20
|
+
* Default: `30_000` (30 s). Set to `0` to disable.
|
|
21
|
+
*/
|
|
22
|
+
readonly livenessIntervalMs?: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Fluent builder for {@link ShardedDaemonProcessOptionsType}. The
|
|
26
|
+
* `behaviorFor` factory is a whole-object field passed via a single
|
|
27
|
+
* `withBehaviorFor(fn)`.
|
|
28
|
+
*/
|
|
29
|
+
export declare class ShardedDaemonProcessOptionsBuilder<T> extends OptionsBuilder<ShardedDaemonProcessOptionsType<T>> {
|
|
30
|
+
/** Start a fresh builder. Equivalent to `new ShardedDaemonProcessOptionsBuilder<T>()`. */
|
|
31
|
+
static create<T>(): ShardedDaemonProcessOptionsBuilder<T>;
|
|
32
|
+
/** Logical name used for the shard type; must be unique per daemon set. */
|
|
33
|
+
withName(name: string): this;
|
|
34
|
+
/** Total number of daemons to keep running cluster-wide. */
|
|
35
|
+
withNumDaemons(numDaemons: number): this;
|
|
36
|
+
/** Props factory — gets the daemon's stable index (0..numDaemons-1). */
|
|
37
|
+
withBehaviorFor(behaviorFor: (daemonIndex: number) => Props<T>): this;
|
|
38
|
+
/** Only members carrying this role host daemons. */
|
|
39
|
+
withRole(role: string): this;
|
|
40
|
+
/** Period (ms) for the liveness ping that re-materializes daemons. Default: 30 s; `0` disables. */
|
|
41
|
+
withLivenessIntervalMs(livenessIntervalMs: number): this;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Accepted input for {@link ShardedDaemonProcess.init}: the fluent
|
|
45
|
+
* {@link ShardedDaemonProcessOptionsBuilder} OR a plain (partial)
|
|
46
|
+
* {@link ShardedDaemonProcessOptionsType} object.
|
|
47
|
+
*/
|
|
48
|
+
export type ShardedDaemonProcessOptions<T> = ShardedDaemonProcessOptionsBuilder<T> | Partial<ShardedDaemonProcessOptionsType<T>>;
|
|
49
|
+
/** Value alias so `ShardedDaemonProcessOptions.create()` / `new ShardedDaemonProcessOptions()` resolve to the builder. */
|
|
50
|
+
export declare const ShardedDaemonProcessOptions: typeof ShardedDaemonProcessOptionsBuilder;
|
|
51
|
+
//# sourceMappingURL=ShardedDaemonProcessOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShardedDaemonProcessOptions.d.ts","sourceRoot":"","sources":["../../../src/cluster/sharding/ShardedDaemonProcessOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,iFAAiF;AACjF,MAAM,WAAW,+BAA+B,CAAC,CAAC;IAChD,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;IACxD,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;OAQG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;;;GAIG;AACH,qBAAa,kCAAkC,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC;IAC3G,2FAA2F;IAC3F,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,kCAAkC,CAAC,CAAC,CAAC;IAIzD,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,4DAA4D;IAC5D,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC,wEAAwE;IACxE,eAAe,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAIrE,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,oGAAoG;IACpG,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI;CAGzD;AAED;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,CAAC,CAAC,IACrC,kCAAkC,CAAC,CAAC,CAAC,GACrC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,0HAA0H;AAC1H,eAAO,MAAM,2BAA2B,2CAAqC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { OptionsBuilder } from '../../util/OptionsBuilder.js';
|
|
2
|
+
/**
|
|
3
|
+
* Fluent builder for {@link ShardedDaemonProcessOptionsType}. The
|
|
4
|
+
* `behaviorFor` factory is a whole-object field passed via a single
|
|
5
|
+
* `withBehaviorFor(fn)`.
|
|
6
|
+
*/
|
|
7
|
+
export class ShardedDaemonProcessOptionsBuilder extends OptionsBuilder {
|
|
8
|
+
/** Start a fresh builder. Equivalent to `new ShardedDaemonProcessOptionsBuilder<T>()`. */
|
|
9
|
+
static create() {
|
|
10
|
+
return new ShardedDaemonProcessOptionsBuilder();
|
|
11
|
+
}
|
|
12
|
+
/** Logical name used for the shard type; must be unique per daemon set. */
|
|
13
|
+
withName(name) {
|
|
14
|
+
return this.set('name', name);
|
|
15
|
+
}
|
|
16
|
+
/** Total number of daemons to keep running cluster-wide. */
|
|
17
|
+
withNumDaemons(numDaemons) {
|
|
18
|
+
return this.set('numDaemons', numDaemons);
|
|
19
|
+
}
|
|
20
|
+
/** Props factory — gets the daemon's stable index (0..numDaemons-1). */
|
|
21
|
+
withBehaviorFor(behaviorFor) {
|
|
22
|
+
return this.set('behaviorFor', behaviorFor);
|
|
23
|
+
}
|
|
24
|
+
/** Only members carrying this role host daemons. */
|
|
25
|
+
withRole(role) {
|
|
26
|
+
return this.set('role', role);
|
|
27
|
+
}
|
|
28
|
+
/** Period (ms) for the liveness ping that re-materializes daemons. Default: 30 s; `0` disables. */
|
|
29
|
+
withLivenessIntervalMs(livenessIntervalMs) {
|
|
30
|
+
return this.set('livenessIntervalMs', livenessIntervalMs);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** Value alias so `ShardedDaemonProcessOptions.create()` / `new ShardedDaemonProcessOptions()` resolve to the builder. */
|
|
34
|
+
export const ShardedDaemonProcessOptions = ShardedDaemonProcessOptionsBuilder;
|
|
35
|
+
//# sourceMappingURL=ShardedDaemonProcessOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShardedDaemonProcessOptions.js","sourceRoot":"","sources":["../../../src/cluster/sharding/ShardedDaemonProcessOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAwB9D;;;;GAIG;AACH,MAAM,OAAO,kCAAsC,SAAQ,cAAkD;IAC3G,2FAA2F;IAC3F,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,kCAAkC,EAAK,CAAC;IACrD,CAAC;IAED,2EAA2E;IAC3E,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,4DAA4D;IAC5D,cAAc,CAAC,UAAkB;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,wEAAwE;IACxE,eAAe,CAAC,WAA8C;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,oDAAoD;IACpD,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,oGAAoG;IACpG,sBAAsB,CAAC,kBAA0B;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IAC5D,CAAC;CACF;AAUD,0HAA0H;AAC1H,MAAM,CAAC,MAAM,2BAA2B,GAAG,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { Props } from '../../Props.js';
|
|
2
|
+
import { OptionsBuilder } from '../../util/OptionsBuilder.js';
|
|
3
|
+
/**
|
|
4
|
+
* Plain settings-object shape for a sharded region. Consumed by
|
|
5
|
+
* {@link ShardRegion.settingsToConfig} and extended by
|
|
6
|
+
* {@link StartShardingOptionsType} — the coordinator-side superset that
|
|
7
|
+
* {@link ClusterSharding.start} accepts.
|
|
8
|
+
*/
|
|
9
|
+
export interface ShardingOptionsType<TMsg> {
|
|
10
|
+
readonly typeName: string;
|
|
11
|
+
readonly entityProps: Props<TMsg>;
|
|
12
|
+
readonly extractEntityId: (message: TMsg) => string;
|
|
13
|
+
readonly extractEntityMessage?: (message: TMsg) => unknown;
|
|
14
|
+
readonly numShards?: number;
|
|
15
|
+
/** Members must carry this role to be candidates for hosting shards. */
|
|
16
|
+
readonly role?: string;
|
|
17
|
+
/** Run as a proxy — route messages but never host entities locally. */
|
|
18
|
+
readonly proxy?: boolean;
|
|
19
|
+
/** Track entity lifecycle so entities can be re-created on the new owner. */
|
|
20
|
+
readonly rememberEntities?: boolean;
|
|
21
|
+
/** Notify the region after an entity has been idle this many ms. */
|
|
22
|
+
readonly passivationIdleMs?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Cap the number of locally-hosted entities (#82). When the region
|
|
25
|
+
* is about to spawn a new entity and the existing count is already
|
|
26
|
+
* `maxEntities`, the entity with the oldest `lastActivity` is
|
|
27
|
+
* passivated — same code path users invoke manually via
|
|
28
|
+
* {@link Passivate}. Useful for unbounded entity sets (per-user
|
|
29
|
+
* sessions, IoT devices, …) where a memory cap per node matters
|
|
30
|
+
* more than keeping every cold entity resident.
|
|
31
|
+
*
|
|
32
|
+
* Default: `0` (no cap). Eviction runs only when `> 0`.
|
|
33
|
+
*
|
|
34
|
+
* Note: passivation is asynchronous, so during the brief window
|
|
35
|
+
* between "stop the LRU" and "Terminated arrives" the region may
|
|
36
|
+
* hold `maxEntities + 1` entities; the cap is a steady-state
|
|
37
|
+
* upper bound rather than a strict instantaneous one.
|
|
38
|
+
*/
|
|
39
|
+
readonly maxEntities?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Fluent builder for {@link ShardingOptionsType}. Base of the builder
|
|
43
|
+
* inheritance chain: {@link StartShardingOptionsBuilder} (in
|
|
44
|
+
* `StartShardingOptions`) extends this and adds the coordinator-side
|
|
45
|
+
* fields. Each concrete `withX` records exactly one field so unset
|
|
46
|
+
* fields fall through to HOCON / built-in defaults when the settings are
|
|
47
|
+
* normalised by {@link ShardRegion.settingsToConfig}.
|
|
48
|
+
*
|
|
49
|
+
* The whole-object fields — `entityProps` (a {@link Props}), and the
|
|
50
|
+
* `extractEntityId` / `extractEntityMessage` extractors — are passed
|
|
51
|
+
* as-is via a single `withX(value)`; no nested builders.
|
|
52
|
+
*/
|
|
53
|
+
export declare class ShardingOptionsBuilder<TMsg, S extends ShardingOptionsType<TMsg> = ShardingOptionsType<TMsg>> extends OptionsBuilder<S> {
|
|
54
|
+
/** Start a fresh builder. Equivalent to `new ShardingOptionsBuilder<TMsg>()`. */
|
|
55
|
+
static create<TMsg>(): ShardingOptionsBuilder<TMsg>;
|
|
56
|
+
/** Logical name of the sharded type. */
|
|
57
|
+
withTypeName(typeName: string): this;
|
|
58
|
+
/** Props used to spawn each entity instance. */
|
|
59
|
+
withEntityProps(entityProps: Props<TMsg>): this;
|
|
60
|
+
/** Derive the stable entity id from an incoming message. */
|
|
61
|
+
withExtractEntityId(extractEntityId: (message: TMsg) => string): this;
|
|
62
|
+
/** Unwrap the payload actually delivered to the entity. Default: identity. */
|
|
63
|
+
withExtractEntityMessage(extractEntityMessage: (message: TMsg) => unknown): this;
|
|
64
|
+
/** Number of shards to spread entities across. Default: 64. */
|
|
65
|
+
withNumShards(numShards: number): this;
|
|
66
|
+
/** Members must carry this role to be candidates for hosting shards. */
|
|
67
|
+
withRole(role: string): this;
|
|
68
|
+
/** Run as a proxy — route messages but never host entities locally. */
|
|
69
|
+
withProxy(proxy?: boolean): this;
|
|
70
|
+
/** Track entity lifecycle so entities can be re-created on the new owner. */
|
|
71
|
+
withRememberEntities(rememberEntities?: boolean): this;
|
|
72
|
+
/** Notify the region after an entity has been idle this many ms. */
|
|
73
|
+
withPassivationIdleMs(passivationIdleMs: number): this;
|
|
74
|
+
/** Cap the number of locally-hosted entities; LRU-passivate on overflow. Default: 0 (no cap). */
|
|
75
|
+
withMaxEntities(maxEntities: number): this;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Accepted input for a sharded-region-configurable API: the fluent
|
|
79
|
+
* {@link ShardingOptionsBuilder} OR a plain {@link ShardingOptionsType} object.
|
|
80
|
+
*/
|
|
81
|
+
export type ShardingOptions<TMsg, S extends ShardingOptionsType<TMsg> = ShardingOptionsType<TMsg>> = ShardingOptionsBuilder<TMsg, S> | S;
|
|
82
|
+
/** Value alias so `ShardingOptions.create()` / `new ShardingOptions()` resolve to the builder. */
|
|
83
|
+
export declare const ShardingOptions: typeof ShardingOptionsBuilder;
|
|
84
|
+
//# sourceMappingURL=ShardingOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShardingOptions.d.ts","sourceRoot":"","sources":["../../../src/cluster/sharding/ShardingOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB,CAAC,IAAI;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC;IACpD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,qEAAqE;IACrE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,sBAAsB,CACjC,IAAI,EACJ,CAAC,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAC/D,SAAQ,cAAc,CAAC,CAAC,CAAC;IACzB,kFAAkF;IAClF,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,CAAC;IAInD,wCAAwC;IACxC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIpC,gDAAgD;IAChD,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI;IAI/C,4DAA4D;IAC5D,mBAAmB,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI;IAIrE,+EAA+E;IAC/E,wBAAwB,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,OAAO,GAAG,IAAI;IAIhF,gEAAgE;IAChE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAItC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,uEAAuE;IACvE,SAAS,CAAC,KAAK,UAAO,GAAG,IAAI;IAI7B,6EAA6E;IAC7E,oBAAoB,CAAC,gBAAgB,UAAO,GAAG,IAAI;IAInD,oEAAoE;IACpE,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAItD,kGAAkG;IAClG,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAG3C;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,CACzB,IAAI,EACJ,CAAC,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAC7D,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AACxC,kGAAkG;AAClG,eAAO,MAAM,eAAe,+BAAyB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { OptionsBuilder } from '../../util/OptionsBuilder.js';
|
|
2
|
+
/**
|
|
3
|
+
* Fluent builder for {@link ShardingOptionsType}. Base of the builder
|
|
4
|
+
* inheritance chain: {@link StartShardingOptionsBuilder} (in
|
|
5
|
+
* `StartShardingOptions`) extends this and adds the coordinator-side
|
|
6
|
+
* fields. Each concrete `withX` records exactly one field so unset
|
|
7
|
+
* fields fall through to HOCON / built-in defaults when the settings are
|
|
8
|
+
* normalised by {@link ShardRegion.settingsToConfig}.
|
|
9
|
+
*
|
|
10
|
+
* The whole-object fields — `entityProps` (a {@link Props}), and the
|
|
11
|
+
* `extractEntityId` / `extractEntityMessage` extractors — are passed
|
|
12
|
+
* as-is via a single `withX(value)`; no nested builders.
|
|
13
|
+
*/
|
|
14
|
+
export class ShardingOptionsBuilder extends OptionsBuilder {
|
|
15
|
+
/** Start a fresh builder. Equivalent to `new ShardingOptionsBuilder<TMsg>()`. */
|
|
16
|
+
static create() {
|
|
17
|
+
return new ShardingOptionsBuilder();
|
|
18
|
+
}
|
|
19
|
+
/** Logical name of the sharded type. */
|
|
20
|
+
withTypeName(typeName) {
|
|
21
|
+
return this.set('typeName', typeName);
|
|
22
|
+
}
|
|
23
|
+
/** Props used to spawn each entity instance. */
|
|
24
|
+
withEntityProps(entityProps) {
|
|
25
|
+
return this.set('entityProps', entityProps);
|
|
26
|
+
}
|
|
27
|
+
/** Derive the stable entity id from an incoming message. */
|
|
28
|
+
withExtractEntityId(extractEntityId) {
|
|
29
|
+
return this.set('extractEntityId', extractEntityId);
|
|
30
|
+
}
|
|
31
|
+
/** Unwrap the payload actually delivered to the entity. Default: identity. */
|
|
32
|
+
withExtractEntityMessage(extractEntityMessage) {
|
|
33
|
+
return this.set('extractEntityMessage', extractEntityMessage);
|
|
34
|
+
}
|
|
35
|
+
/** Number of shards to spread entities across. Default: 64. */
|
|
36
|
+
withNumShards(numShards) {
|
|
37
|
+
return this.set('numShards', numShards);
|
|
38
|
+
}
|
|
39
|
+
/** Members must carry this role to be candidates for hosting shards. */
|
|
40
|
+
withRole(role) {
|
|
41
|
+
return this.set('role', role);
|
|
42
|
+
}
|
|
43
|
+
/** Run as a proxy — route messages but never host entities locally. */
|
|
44
|
+
withProxy(proxy = true) {
|
|
45
|
+
return this.set('proxy', proxy);
|
|
46
|
+
}
|
|
47
|
+
/** Track entity lifecycle so entities can be re-created on the new owner. */
|
|
48
|
+
withRememberEntities(rememberEntities = true) {
|
|
49
|
+
return this.set('rememberEntities', rememberEntities);
|
|
50
|
+
}
|
|
51
|
+
/** Notify the region after an entity has been idle this many ms. */
|
|
52
|
+
withPassivationIdleMs(passivationIdleMs) {
|
|
53
|
+
return this.set('passivationIdleMs', passivationIdleMs);
|
|
54
|
+
}
|
|
55
|
+
/** Cap the number of locally-hosted entities; LRU-passivate on overflow. Default: 0 (no cap). */
|
|
56
|
+
withMaxEntities(maxEntities) {
|
|
57
|
+
return this.set('maxEntities', maxEntities);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/** Value alias so `ShardingOptions.create()` / `new ShardingOptions()` resolve to the builder. */
|
|
61
|
+
export const ShardingOptions = ShardingOptionsBuilder;
|
|
62
|
+
//# sourceMappingURL=ShardingOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShardingOptions.js","sourceRoot":"","sources":["../../../src/cluster/sharding/ShardingOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAyC9D;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,sBAGX,SAAQ,cAAiB;IACzB,kFAAkF;IAClF,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,sBAAsB,EAAQ,CAAC;IAC5C,CAAC;IAED,wCAAwC;IACxC,YAAY,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,gDAAgD;IAChD,eAAe,CAAC,WAAwB;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,4DAA4D;IAC5D,mBAAmB,CAAC,eAA0C;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;IAED,+EAA+E;IAC/E,wBAAwB,CAAC,oBAAgD;QACvE,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;IAChE,CAAC;IAED,gEAAgE;IAChE,aAAa,CAAC,SAAiB;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,wEAAwE;IACxE,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,uEAAuE;IACvE,SAAS,CAAC,KAAK,GAAG,IAAI;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,6EAA6E;IAC7E,oBAAoB,CAAC,gBAAgB,GAAG,IAAI;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,oEAAoE;IACpE,qBAAqB,CAAC,iBAAyB;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,kGAAkG;IAClG,eAAe,CAAC,WAAmB;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;CACF;AAUD,kGAAkG;AAClG,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { Lease } from '../../coordination/Lease.js';
|
|
2
|
+
import type { AllocationStrategy } from './AllocationStrategy.js';
|
|
3
|
+
import type { CoordinatorStateStore } from './CoordinatorState.js';
|
|
4
|
+
import type { RememberEntitiesStore } from './RememberEntitiesStore.js';
|
|
5
|
+
import { ShardingOptionsBuilder } from './ShardingOptions.js';
|
|
6
|
+
import type { ShardingOptionsType } from './ShardingOptions.js';
|
|
7
|
+
/**
|
|
8
|
+
* Plain settings-object shape accepted by {@link ClusterSharding.start} —
|
|
9
|
+
* the region-side {@link ShardingOptionsType} plus the coordinator-side
|
|
10
|
+
* fields (allocation, rebalance, lease, persistence backends).
|
|
11
|
+
*/
|
|
12
|
+
export interface StartShardingOptionsType<TMsg> extends ShardingOptionsType<TMsg> {
|
|
13
|
+
/** Strategy the coordinator uses to allocate and rebalance shards. */
|
|
14
|
+
readonly allocationStrategy?: AllocationStrategy;
|
|
15
|
+
/** Gap between coordinator-driven rebalance passes. */
|
|
16
|
+
readonly rebalanceIntervalMs?: number;
|
|
17
|
+
/** Time to wait for HandOffComplete before force-reallocating. */
|
|
18
|
+
readonly handOffTimeoutMs?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Optional split-brain protection for the coordinator. When set,
|
|
21
|
+
* the elected leader's coordinator must hold the lease before it
|
|
22
|
+
* processes shard messages — under a network partition that
|
|
23
|
+
* produces two leader views, only the side that successfully
|
|
24
|
+
* acquires the lease ever issues `AllocateShard` / `HandOff`
|
|
25
|
+
* directives. See `ShardCoordinatorOptionsType.lease`.
|
|
26
|
+
*/
|
|
27
|
+
readonly lease?: Lease;
|
|
28
|
+
/** Retry interval for `lease.acquire()` after a failed attempt. Default: 5 s. */
|
|
29
|
+
readonly acquireRetryIntervalMs?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Optional persistence backend for the entity registry — relevant
|
|
32
|
+
* only when `rememberEntities: true`. When omitted (and
|
|
33
|
+
* `rememberEntities: true`), the default
|
|
34
|
+
* `JournalRememberEntitiesStore` is auto-instantiated using the
|
|
35
|
+
* Journal from the system's `PersistenceExtension`, so a full
|
|
36
|
+
* cluster cold-start no longer loses the registry. Set to a
|
|
37
|
+
* custom impl to plug in a separate store.
|
|
38
|
+
*
|
|
39
|
+
* Pass `null` to opt out of persistence entirely (registry stays
|
|
40
|
+
* in-memory only — the v1 behaviour).
|
|
41
|
+
*/
|
|
42
|
+
readonly rememberEntitiesStore?: RememberEntitiesStore | null;
|
|
43
|
+
/**
|
|
44
|
+
* Optional persistence backend for the coordinator's allocation
|
|
45
|
+
* state (`regions` + `shardHome`). When set, a new leader
|
|
46
|
+
* elected after the previous leader's failure can seed its
|
|
47
|
+
* coordinator from the snapshot instead of running
|
|
48
|
+
* `tryAllocate` from scratch — saves a brief reallocation storm
|
|
49
|
+
* at thousands-of-shards scale.
|
|
50
|
+
*
|
|
51
|
+
* Unlike `rememberEntitiesStore`, ClusterSharding does NOT
|
|
52
|
+
* auto-instantiate this — the user must explicitly pass a store
|
|
53
|
+
* (typically `new DistributedDataCoordinatorStateStore(dd, ...)`).
|
|
54
|
+
* Without it, the v1 rebuild-from-Register behaviour is preserved.
|
|
55
|
+
*/
|
|
56
|
+
readonly coordinatorStateStore?: CoordinatorStateStore;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Fluent builder for {@link StartShardingOptionsType} — the argument to
|
|
60
|
+
* {@link ClusterSharding.start}. Extends {@link ShardingOptionsBuilder} so it
|
|
61
|
+
* carries every region-side `withX` (typeName, entityProps, extractors,
|
|
62
|
+
* numShards, role, proxy, rememberEntities, …) and adds the
|
|
63
|
+
* coordinator-side fields on top.
|
|
64
|
+
*
|
|
65
|
+
* The polymorphic fields are passed whole via a single `withX(value)`:
|
|
66
|
+
* `allocationStrategy` ({@link AllocationStrategy}), `lease`
|
|
67
|
+
* ({@link Lease}), `rememberEntitiesStore`, and `coordinatorStateStore`.
|
|
68
|
+
*/
|
|
69
|
+
export declare class StartShardingOptionsBuilder<TMsg> extends ShardingOptionsBuilder<TMsg, StartShardingOptionsType<TMsg>> {
|
|
70
|
+
/** Start a fresh builder. Equivalent to `new StartShardingOptionsBuilder<TMsg>()`. */
|
|
71
|
+
static create<TMsg>(): StartShardingOptionsBuilder<TMsg>;
|
|
72
|
+
/** Strategy the coordinator uses to allocate and rebalance shards. */
|
|
73
|
+
withAllocationStrategy(allocationStrategy: AllocationStrategy): this;
|
|
74
|
+
/** Gap between coordinator-driven rebalance passes. */
|
|
75
|
+
withRebalanceIntervalMs(rebalanceIntervalMs: number): this;
|
|
76
|
+
/** Time to wait for HandOffComplete before force-reallocating. */
|
|
77
|
+
withHandOffTimeoutMs(handOffTimeoutMs: number): this;
|
|
78
|
+
/** Optional split-brain protection for the coordinator (a {@link Lease}). */
|
|
79
|
+
withLease(lease: Lease): this;
|
|
80
|
+
/** Retry interval for `lease.acquire()` after a failed attempt. Default: 5 s. */
|
|
81
|
+
withAcquireRetryIntervalMs(acquireRetryIntervalMs: number): this;
|
|
82
|
+
/**
|
|
83
|
+
* Persistence backend for the entity registry (only when `rememberEntities`).
|
|
84
|
+
* Pass `null` to keep the registry in-memory only (opt out of persistence).
|
|
85
|
+
*/
|
|
86
|
+
withRememberEntitiesStore(rememberEntitiesStore: RememberEntitiesStore | null): this;
|
|
87
|
+
/** Persistence backend for the coordinator's allocation state. */
|
|
88
|
+
withCoordinatorStateStore(coordinatorStateStore: CoordinatorStateStore): this;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Accepted input for {@link ClusterSharding.start}: the fluent
|
|
92
|
+
* {@link StartShardingOptionsBuilder} OR a plain (partial)
|
|
93
|
+
* {@link StartShardingOptionsType} object.
|
|
94
|
+
*/
|
|
95
|
+
export type StartShardingOptions<TMsg> = StartShardingOptionsBuilder<TMsg> | Partial<StartShardingOptionsType<TMsg>>;
|
|
96
|
+
/** Value alias so `StartShardingOptions.create()` / `new StartShardingOptions()` resolve to the builder. */
|
|
97
|
+
export declare const StartShardingOptions: typeof StartShardingOptionsBuilder;
|
|
98
|
+
//# sourceMappingURL=StartShardingOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StartShardingOptions.d.ts","sourceRoot":"","sources":["../../../src/cluster/sharding/StartShardingOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,wBAAwB,CAAC,IAAI,CAAE,SAAQ,mBAAmB,CAAC,IAAI,CAAC;IAC/E,sEAAsE;IACtE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,uDAAuD;IACvD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,kEAAkE;IAClE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,kFAAkF;IAClF,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC9D;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CACxD;AAED;;;;;;;;;;GAUG;AACH,qBAAa,2BAA2B,CAAC,IAAI,CAAE,SAAQ,sBAAsB,CAAC,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACjH,uFAAuF;IACvF,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,2BAA2B,CAAC,IAAI,CAAC;IAIxD,sEAAsE;IACtE,sBAAsB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAIpE,uDAAuD;IACvD,uBAAuB,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI;IAI1D,kEAAkE;IAClE,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAIpD,6EAA6E;IAC7E,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI7B,kFAAkF;IAClF,0BAA0B,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI;IAIhE;;;OAGG;IACH,yBAAyB,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI;IAIpF,kEAAkE;IAClE,yBAAyB,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI;CAG9E;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,IAAI,IACjC,2BAA2B,CAAC,IAAI,CAAC,GACjC,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,4GAA4G;AAC5G,eAAO,MAAM,oBAAoB,oCAA8B,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ShardingOptionsBuilder } from './ShardingOptions.js';
|
|
2
|
+
/**
|
|
3
|
+
* Fluent builder for {@link StartShardingOptionsType} — the argument to
|
|
4
|
+
* {@link ClusterSharding.start}. Extends {@link ShardingOptionsBuilder} so it
|
|
5
|
+
* carries every region-side `withX` (typeName, entityProps, extractors,
|
|
6
|
+
* numShards, role, proxy, rememberEntities, …) and adds the
|
|
7
|
+
* coordinator-side fields on top.
|
|
8
|
+
*
|
|
9
|
+
* The polymorphic fields are passed whole via a single `withX(value)`:
|
|
10
|
+
* `allocationStrategy` ({@link AllocationStrategy}), `lease`
|
|
11
|
+
* ({@link Lease}), `rememberEntitiesStore`, and `coordinatorStateStore`.
|
|
12
|
+
*/
|
|
13
|
+
export class StartShardingOptionsBuilder extends ShardingOptionsBuilder {
|
|
14
|
+
/** Start a fresh builder. Equivalent to `new StartShardingOptionsBuilder<TMsg>()`. */
|
|
15
|
+
static create() {
|
|
16
|
+
return new StartShardingOptionsBuilder();
|
|
17
|
+
}
|
|
18
|
+
/** Strategy the coordinator uses to allocate and rebalance shards. */
|
|
19
|
+
withAllocationStrategy(allocationStrategy) {
|
|
20
|
+
return this.set('allocationStrategy', allocationStrategy);
|
|
21
|
+
}
|
|
22
|
+
/** Gap between coordinator-driven rebalance passes. */
|
|
23
|
+
withRebalanceIntervalMs(rebalanceIntervalMs) {
|
|
24
|
+
return this.set('rebalanceIntervalMs', rebalanceIntervalMs);
|
|
25
|
+
}
|
|
26
|
+
/** Time to wait for HandOffComplete before force-reallocating. */
|
|
27
|
+
withHandOffTimeoutMs(handOffTimeoutMs) {
|
|
28
|
+
return this.set('handOffTimeoutMs', handOffTimeoutMs);
|
|
29
|
+
}
|
|
30
|
+
/** Optional split-brain protection for the coordinator (a {@link Lease}). */
|
|
31
|
+
withLease(lease) {
|
|
32
|
+
return this.set('lease', lease);
|
|
33
|
+
}
|
|
34
|
+
/** Retry interval for `lease.acquire()` after a failed attempt. Default: 5 s. */
|
|
35
|
+
withAcquireRetryIntervalMs(acquireRetryIntervalMs) {
|
|
36
|
+
return this.set('acquireRetryIntervalMs', acquireRetryIntervalMs);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Persistence backend for the entity registry (only when `rememberEntities`).
|
|
40
|
+
* Pass `null` to keep the registry in-memory only (opt out of persistence).
|
|
41
|
+
*/
|
|
42
|
+
withRememberEntitiesStore(rememberEntitiesStore) {
|
|
43
|
+
return this.set('rememberEntitiesStore', rememberEntitiesStore);
|
|
44
|
+
}
|
|
45
|
+
/** Persistence backend for the coordinator's allocation state. */
|
|
46
|
+
withCoordinatorStateStore(coordinatorStateStore) {
|
|
47
|
+
return this.set('coordinatorStateStore', coordinatorStateStore);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** Value alias so `StartShardingOptions.create()` / `new StartShardingOptions()` resolve to the builder. */
|
|
51
|
+
export const StartShardingOptions = StartShardingOptionsBuilder;
|
|
52
|
+
//# sourceMappingURL=StartShardingOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StartShardingOptions.js","sourceRoot":"","sources":["../../../src/cluster/sharding/StartShardingOptions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAuD9D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,2BAAkC,SAAQ,sBAA4D;IACjH,uFAAuF;IACvF,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,2BAA2B,EAAQ,CAAC;IACjD,CAAC;IAED,sEAAsE;IACtE,sBAAsB,CAAC,kBAAsC;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IAC5D,CAAC;IAED,uDAAuD;IACvD,uBAAuB,CAAC,mBAA2B;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAED,kEAAkE;IAClE,oBAAoB,CAAC,gBAAwB;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,6EAA6E;IAC7E,SAAS,CAAC,KAAY;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,kFAAkF;IAClF,0BAA0B,CAAC,sBAA8B;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACH,yBAAyB,CAAC,qBAAmD;QAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC;IAClE,CAAC;IAED,kEAAkE;IAClE,yBAAyB,CAAC,qBAA4C;QACpE,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC;IAClE,CAAC;CACF;AAUD,4GAA4G;AAC5G,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC"}
|
|
@@ -1,38 +1,10 @@
|
|
|
1
1
|
import type { ActorRef } from '../../ActorRef.js';
|
|
2
2
|
import type { ActorSystem } from '../../ActorSystem.js';
|
|
3
|
-
import type { Lease } from '../../coordination/Lease.js';
|
|
4
3
|
import { type ExtensionId } from '../../Extension.js';
|
|
5
|
-
import { Props } from '../../Props.js';
|
|
6
4
|
import type { Cluster } from '../Cluster.js';
|
|
7
5
|
import { type Option } from '../../util/Option.js';
|
|
6
|
+
import type { StartSingletonOptions } from './StartSingletonOptions.js';
|
|
8
7
|
import { ClusterSingletonProxy } from './ClusterSingletonProxy.js';
|
|
9
|
-
export interface StartSingletonSettings<T> {
|
|
10
|
-
/** Logical name for this singleton — used in the manager/child actor path. */
|
|
11
|
-
readonly typeName: string;
|
|
12
|
-
/** Props used to construct the singleton on the leader. */
|
|
13
|
-
readonly props: Props<T>;
|
|
14
|
-
/** If set, only nodes carrying this role tag will host the singleton. */
|
|
15
|
-
readonly role?: string;
|
|
16
|
-
/**
|
|
17
|
-
* Optional split-brain protection. When provided, the elected
|
|
18
|
-
* leader's manager calls `lease.acquire()` before spawning the
|
|
19
|
-
* singleton — so a partition that produces two oldest views still
|
|
20
|
-
* only ever spawns the singleton on the side that holds the lease.
|
|
21
|
-
* The manager subscribes to `lease.onLost(reason)` and stops the
|
|
22
|
-
* child if ownership is revoked mid-flight.
|
|
23
|
-
*
|
|
24
|
-
* Without a lease the manager keeps its current sync behaviour:
|
|
25
|
-
* spawn the moment cluster gossip says we're leader, no external
|
|
26
|
-
* arbitration.
|
|
27
|
-
*/
|
|
28
|
-
readonly lease?: Lease;
|
|
29
|
-
/**
|
|
30
|
-
* How often to retry `lease.acquire()` after a failed attempt
|
|
31
|
-
* (another holder owns it, transient backend error, etc.).
|
|
32
|
-
* Default: `5_000` ms. Ignored if no lease is provided.
|
|
33
|
-
*/
|
|
34
|
-
readonly acquireRetryIntervalMs?: number;
|
|
35
|
-
}
|
|
36
8
|
export interface SingletonHandle<T> {
|
|
37
9
|
/** Location-transparent ActorRef — tell here, the leader's instance receives. */
|
|
38
10
|
readonly proxy: ClusterSingletonProxy<T>;
|
|
@@ -51,7 +23,7 @@ export declare class ClusterSingleton {
|
|
|
51
23
|
private readonly system;
|
|
52
24
|
private handles;
|
|
53
25
|
constructor(system: ActorSystem);
|
|
54
|
-
start<T>(cluster: Cluster,
|
|
26
|
+
start<T>(cluster: Cluster, options: StartSingletonOptions<T>): SingletonHandle<T>;
|
|
55
27
|
/** Look up a previously-started singleton by typeName. */
|
|
56
28
|
get<T>(typeName: string): Option<SingletonHandle<T>>;
|
|
57
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterSingleton.d.ts","sourceRoot":"","sources":["../../../src/cluster/singleton/ClusterSingleton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"ClusterSingleton.d.ts","sourceRoot":"","sources":["../../../src/cluster/singleton/ClusterSingleton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAOjE,OAAO,KAAK,EAAE,qBAAqB,EAA6B,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACzC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,yCAAyC;IACzC,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;IAEf,OAAO,CAAC,QAAQ,CAAC,MAAM;IADnC,OAAO,CAAC,OAAO,CAA+C;gBACjC,MAAM,EAAE,WAAW;IAEhD,KAAK,CAAC,CAAC,EACL,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAChC,eAAe,CAAC,CAAC,CAAC;IA8CrB,0DAA0D;IAC1D,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAGrD;AAED,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,gBAAgB,CAG5D,CAAC"}
|