Skip to content
Commit Detail

Commit 3d511ac

Author
Kenton Varda <kenton@cloudflare.com> 2025-06-18 20:09:18 -0500
Parents
d6fb7a4
Tree
d5d419e
Refactor: Create an explicit IoChannelFactory::ActorClassChannel.

Previously, the FacetManager interface took an actor class channel number as input when creating a facet. This was a little odd as it was the only place where channel numbers could be exchanged for channels outside of IoChannelFactory itself.

Now, IoChannelFactory has a `getActorClass(uint channel)` method that returns an object representing the actor class. This object has no methods, it can only be passed into `FacetManager`.

This makes the code in `server.c++` look a little better. More importantly, though, it opens the possibility of facets being implemented by actor classes that didn't strictly come from channel numbers. Dynamic isolate loading, in particular, will create ActorClassChannels dynamically! Also, Dynamic Dispatch may be extended to support actor classes.

Files changed

4 files changed~4 modified