Skip to content
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

Public Network State #5046

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from
Draft

Public Network State #5046

wants to merge 12 commits into from

Conversation

coot
Copy link
Contributor

@coot coot commented Jan 17, 2025

Description

Querable node-to-node protocol state through node-to-client's LocalStateQuery mini-protocol.

Exposes state from three components (only about node-to-node connections):

Reflection on node-to-client is a possible future extension.

Checklist

Quality

  • Commit sequence makes sense and have useful messages, see ref.
  • New tests are added and existing tests are updated.
  • Self-reviewed the PR.

Maintenance

  • Linked an issue or added the PR to the current sprint of ouroboros-network project.
  • Added labels.
  • Updated changelog files.
  • The documentation has been properly updated, see ref.

@coot coot added the node-to-client Issues & PRs related to node-to-client protocols label Jan 17, 2025
@coot coot added local-state-query Issues / PRs related to local-state-query protocol node-to-node Issues and PRs relate to node-to-node protocols outbound-governor Issues / PRs related to outbound-governor connection-manager Issues / PRs related to connection-manager inbound-governor Issues / PRs related to inbound-governor labels Jan 17, 2025
@coot coot changed the title Querable Network State Public Network State Jan 27, 2025
@coot coot force-pushed the coot/public-network-state branch from ee26033 to 969e03f Compare February 14, 2025 17:35
@coot coot self-assigned this Feb 19, 2025
@coot coot linked an issue Feb 19, 2025 that may be closed by this pull request
1 task
@coot coot force-pushed the coot/public-network-state branch 2 times, most recently from b428077 to 3274aad Compare February 20, 2025 14:37
coot and others added 12 commits February 21, 2025 16:18
Instead of writing `PublicPeerSelectionState` on each outbound governor
loop iteration, provide a request-response API through a `StrictTMVar` which
is monitored by the outbound governor.

Note that `PublicPeerSelectionState` is a lazy record written through
`StrictTMVar` via a lazy `Maybe` like type (and thus it is not evaluated
to WHNF when written to the shared variable).  It is up to the API user to
evaluate what it needs.
It includes data from connection-manager and outbound/inbound governors.
…aring.Codec module

The `Ouroboros.Network.RemoteAddress.Codec` seems like a better place
for it, since its not only `peer-sharing` related.
@coot coot force-pushed the coot/public-network-state branch from 3274aad to 9dea930 Compare February 21, 2025 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
connection-manager Issues / PRs related to connection-manager inbound-governor Issues / PRs related to inbound-governor local-state-query Issues / PRs related to local-state-query protocol node-to-client Issues & PRs related to node-to-client protocols node-to-node Issues and PRs relate to node-to-node protocols outbound-governor Issues / PRs related to outbound-governor
Projects
Status: In Progress
1 participant