informalsystems / informalsystems/quartz
Notifier channel inaccessible to enclave due to `mpsc` constraint
- Dominant language
- Rust
- Stars
- 63
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
The notifier channel (which rn only sends notifications when a handshake completes) is implemented using an `mpsc` channel, meaning it supports only a single consumer. By design, that single receiver is already used up by the host implementation (e.g., `DefaultHost`), so any enclave implementation built on top of Quartz can’t make another receive call.
In practice, though, the behavior is closer to a single producer, multiple consumers. So switching to a `broadcast` channel would make more sense here.
Contributor guide
Research direction
Locate the notifier channel and the DefaultHost implementation, then trace how handshake-completion notifications are sent and received. Check whether multiple enclave consumers are supported and identify the relevant tests or call sites; done means the host still receives notifications while an enclave implementation can receive them too.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100