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

Emit have extension messages from CoreManager #309

Closed
gmaclennan opened this issue Oct 4, 2023 · 0 comments · Fixed by #310
Closed

Emit have extension messages from CoreManager #309

gmaclennan opened this issue Oct 4, 2023 · 0 comments · Fixed by #310

Comments

@gmaclennan
Copy link
Member

Description

The SyncState class needs to handle the "pre-have" messages that are sent over the project creator core replication stream as extension messages. Rather than extracting the messages from CoreManager, for now the easiest option seems to be to emit these messages on the coreManager instance.

gmaclennan added a commit that referenced this issue Oct 4, 2023
Fixes #309, removes responsibility from CoreManager to track peer-have
messages - will be handled by SyncState class
gmaclennan added a commit that referenced this issue Oct 4, 2023
Fixes #309, removes responsibility from CoreManager to track peer-have
messages - will be handled by SyncState class
gmaclennan added a commit that referenced this issue Oct 9, 2023
* chore: emit peer-have messages don't persist

Fixes #309, removes responsibility from CoreManager to track peer-have
messages - will be handled by SyncState class

* feat: Add NamespaceSyncState

This combines all core sync states for a namespace. It listens to
CoreManager for new cores and pre-have messages.

* feat: add namespace to peer pre-have messages

* fix param name

* WIP tests

* add tests

* don't use eventEmitter

Since these are internal modules and we don't attach a "listener" other
than in the constructor, switching to a pattern that passes an
'onUpdate' constructor param, that avoids needing to track when event
listeners are removed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant