Konrad `ktoso` Malawski
Konrad `ktoso` Malawski
In order to get away from "well known" tricks which worked well but only while we were strictly actor path based.
We allow storing metadata with `@ActorID.Metadata` but the serialization is only partially implemented, support it completely by allowing to register which keys should be considered.
We use those a lot and they're common enough to offer to people.
Some of the names are a bit weird with registerInbound and there's some overlap with trusting error types. We should make some `settings.serialization.trust(Type.self)` or similar maybe?
For debugging it'd be nicer if the metadata included the source locations where the subscription was made. We have this information, and should surface it in ``` "eventStream/asyncSubscribers": Logger.MetadataValue.array(self.asyncSubscribers.map {...
Pretty weird, must be something off with concurrency here -- I'm partially suspecting this may be related to actor threading issues... This could be related to the swift concurrency not...
For now let's keep all the APIs but allow them to async/await rather than block the current thread. E.g. it should be possible to: ``` let probe = testKit.spawnTestProbe(...) try...
currently we store it as many fields which is inefficient. If sending around actor refs in Codable/JSON today they're exploded into many fields which is insanely inefficient, adding to the...
Such as: ```swift public func member(of actor: Act) -> Cluster.Member? where Act: DistributedActor { self.uniqueMember(actor.address.node) } ```