entropyxyz / manul

Round-based distributed protocols
https://docs.rs/manul
GNU Affero General Public License v3.0
6 stars 1 forks source link

Typed `Round` trait #65

Open fjarri opened 3 weeks ago

fjarri commented 3 weeks ago

The current dynamic rounds are useful for writing combinators and tests, but we need to explore more static rounds (that would still be castable to BoxedRound and compatible with the rest of the machinery). Something that has associated types for the messages, payloads, and artifacts so that they don't have to be manually serialized/deserialized.

The problem here is correctly recognisinig rounds that don't send some type of messages, or don't create artifacts. We can use () in the corresponding associated type to indicate that.