This repository has been archived by the owner on Jun 26, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 27
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The existing peer store interface has separate sub-stores for addresses, protocols, metadata, etc. Each method is async due to the underlying datastore being async. This means it's impossible to do atomic writes to the peer store if you have multiple sets of data to write. Internally, however, the default peer store implementation stores the peer data as a single datastore entry keyed on the peer id. This PR: 1. Removes the sub-stores in favour of atomic `set`/`update` methods for peer data 2. Removes `@libp2p/peer-store` specific init types 3. Removes tagging methods in favour of `set`/`update` for peer data 4. Removes references to consuming peer records since this is part of the identify protocol so should be handled there
wemeetagain
approved these changes
Apr 20, 2023
github-actions bot
pushed a commit
that referenced
this pull request
Apr 21, 2023
## [@libp2p/interface-peer-store-v2.0.0](https://github.com/libp2p/js-libp2p-interfaces/compare/@libp2p/interface-peer-store-v1.2.9...@libp2p/interface-peer-store-v2.0.0) (2023-04-21) ### ⚠ BREAKING CHANGES * make peer store methods atomic (#368) ### Bug Fixes * make peer store methods atomic ([#368](#368)) ([47c8b78](47c8b78))
🎉 This PR is included in version @libp2p/interface-peer-store-v2.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The existing peer store interface has separate sub-stores for addresses, protocols, metadata, etc.
Each method is async due to the underlying datastore being async.
This means it's impossible to do atomic writes to the peer store if you have multiple sets of data to write.
Internally, however, the default peer store implementation stores the peer data as a single datastore entry keyed on the peer id.
This PR:
set
/update
methods for peer data@libp2p/peer-store
specific init typesset
/update
for peer data