spawn
spawn copied to clipboard
Use a Contract Fist approach to define Actors
trafficstars
Warning: This PR introduces breaking changes.
Once this PR is finalized, Spawn will start using a completely contract-first approach in defining its Actors as users will have to create gRPC services that will be mapped 1:1 with the Actors.
This will allow us to:
- The proxy becomes aware of the user types. This is good because it expands our range of possibilities in implementing new features.
- Users will have a simpler way to know which Actions and Actors exist. Just look at or share .proto file between different projects and everyone will be able to know what can be invoked and how.
- We will be able to transparently expose Actor Actions externally via gRPC and HTTP (the latter via HTTP transcoding).
What blocks this PR from being merged:
- Finalize the gRPC dispatcher.
- More tests.
- This PR in the elixir-grpc repository and the subsequent new version published in the hex.pm repository.
When completes this closes https://github.com/eigr/spawn/issues/32