-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RollCall
changes
#1762
RollCall
changes
#1762
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! just a minor comment.
} | ||
|
||
_ => { | ||
return Err(anyhow::anyhow!("Unknown external message type")); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we can use bail!() here
) -> Result<Self> { | ||
// Create the outbound message queue | ||
let (outbound_message_sender, outbound_message_receiver) = | ||
async_compatibility_layer::channel::bounded(10); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the event handling will be quick, but should the channel capacity be increased just to be on the safe side?
Closes EspressoSystems/HotShot#3455
This PR:
Adds a message handling framework to handle
External
HotShot events. These are messages that are "external" to HotShot but that HotShot subscribers may want to about. It's like an out-of-band communication layer and prevents us from having to use a separate network to disseminate the information.Adds
RollCall
functionality. The frontend will use this to aggregate node identities, starting with the public API URL. On startup a node'sRollCallInfo
will be broadcast the network. Past that, we will have an external service occasionally sending these messages (e.g. when it restarts) and providing the data to the frontend.Adds a Public API URL as an optional argument. If not supplied, we will not send a
RollCall
message.