CryProt-OT will potentially be used in polytune. Polytune currently has its own Channel abstraction and also uses maybe_async which is currently used to offer a sync API for panic-freedom verification using Hax.
To solve both issues, we could adopt a sans-io architecture for the OT protocols. This would entail implementing the protocols as state machines not dependent on a concrete channel or async/await.
I think as a first step, implementing the CO15 base OTs in the sans-io pattern would be a good choice, as it's the simplest. The sans-io implementations should live in a separate cryprot-ot-core crate which is not dependent of cryprot-net and tokio.
CryProt-OT will potentially be used in polytune. Polytune currently has its own
Channelabstraction and also usesmaybe_asyncwhich is currently used to offer a sync API for panic-freedom verification using Hax.To solve both issues, we could adopt a sans-io architecture for the OT protocols. This would entail implementing the protocols as state machines not dependent on a concrete channel or async/await.
I think as a first step, implementing the CO15 base OTs in the sans-io pattern would be a good choice, as it's the simplest. The sans-io implementations should live in a separate
cryprot-ot-corecrate which is not dependent ofcryprot-netandtokio.