informalsystems / informalsystems/quartz

Notifier channel inaccessible to enclave due to `mpsc` constraint

Open
#339 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.