build: Add caching with gitlab ci
chore: Update flake lockfile
ci: Fix clippy and cache download uri
Clippy needs to be told to deny warnings in the nix flake, whoops.
Update cache download uri
feat: Implement in-memory networking simulator
Provide the `ChannelNewtorking` type, which simulates a network among
actors running in the same program instance using in-memory queues.
This type is intended for unit and integration testing, and while it
only provides stub behaviors, it attempts to have reasonable behaviors.
chore: Update actm dependency
feat: Implement traits for ChannelNetworking
This does not implement the ability to create a `ChannelNetworking` or
any of the business logic yet, but provides compiling implementations of
the traits.
feat: Initial definition of networking trait
feat: Implement skeleton of networking events
ci: Make use of nix-cache-watcher in ci
ci: Deploy build artifacts to cache
build: Add hut tool to nix env
feat: Migrate to actm crate
Move all of the actor framework type code into the new actm crate,
switch local code over to point to it, and update our documentation.
feat: Switch to enum_dispatch
trait_enum turns out to not support generics, so we'll switch to
enum_dispatch
feat: Add spawn_async to BasicActor
Add the spawn_async method to BasicActor. This, technically speaking,
renames sync to spawn_async, and modifies it to support async, then
re-implements spawn on top of the now-spawn_async, however, the old name
is keep for the synchronous version for API clarity reasons.