Skip to content
This repository has been archived by the owner on Sep 21, 2024. It is now read-only.

fix!: Enable incremental sphere replication #409

Merged
merged 1 commit into from
Jun 8, 2023

Conversation

cdata
Copy link
Collaborator

@cdata cdata commented May 30, 2023

  • Most use of Cid where it refers to a sphere has been refactored as Link<MemoIpld>
  • Gateway Fetch API block Bundle is replaced with a CAR stream
  • Peer LinkRecord proofs are replicated along with the rest of a given sphere's blocks
  • MemoIpld now records a Lamport timestamp to establish a causal order between related versions of its body content
  • MemoIpld signatures previously referred to a proof by CID, but now inline an invoked UCAN JWT
  • Traversal logic is moved out of SphereContext, and the core of it is defined as part of Sphere; additional business logic pertaining to replication is implemented as a trait over HasSphereContext

@cdata cdata force-pushed the fix/peer-history-not-found branch 6 times, most recently from f97bbe8 to 5b85a2b Compare June 1, 2023 19:06
@cdata cdata force-pushed the fix/peer-history-not-found branch from 5b85a2b to 6f1261a Compare June 2, 2023 00:07
@cdata cdata marked this pull request as ready for review June 7, 2023 18:30
@cdata cdata requested a review from jsantell June 7, 2023 18:30
jsantell
jsantell previously approved these changes Jun 7, 2023
Copy link
Contributor

@jsantell jsantell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work tackling this challenge!

.vscode/settings.json Show resolved Hide resolved
rust/noosphere-cli/tests/peer_to_peer.rs Outdated Show resolved Hide resolved
rust/noosphere-cli/tests/peer_to_peer.rs Show resolved Hide resolved
rust/noosphere-cli/tests/peer_to_peer.rs Show resolved Hide resolved
rust/noosphere-cli/tests/peer_to_peer.rs Show resolved Hide resolved
rust/noosphere-sphere/src/context.rs Outdated Show resolved Hide resolved
rust/noosphere-sphere/src/context.rs Outdated Show resolved Hide resolved
rust/noosphere-sphere/src/has.rs Outdated Show resolved Hide resolved
rust/noosphere-sphere/src/sync/recovery.rs Show resolved Hide resolved
rust/noosphere-sphere/src/context.rs Outdated Show resolved Hide resolved
@cdata cdata force-pushed the fix/peer-history-not-found branch 2 times, most recently from 5001bca to 33bab3c Compare June 8, 2023 18:24
 - Most use of `Cid` where it refers to a sphere has been refactored as
   `Link<MemoIpld>`
 - Gateway Fetch API block `Bundle` is replaced with a CAR stream
 - Peer `LinkRecord` proofs are replicated along with the rest of a
   given sphere's blocks
 - `MemoIpld` now records a Lamport timestamp to establish a causal
   order between related versions of its body content
 - `MemoIpld` signatures previously referred to a proof by CID, but now
   inline an invoked UCAN JWT
 - Traversal logic is moved out of `SphereContext`, and the core of it
   is defined as part of `Sphere`; additional business logic pertaining
   to replication is implemented as a trait over `HasSphereContext`
 - Sync now has a configurable retry behavior to cover edge cases when
   the gateway sphere changes in the time between a fetch and a push (a
   condition that results in a recoverable "conflict" error on the
   client)
@cdata cdata force-pushed the fix/peer-history-not-found branch from 33bab3c to c095baa Compare June 8, 2023 18:33
@cdata cdata merged commit 8812a1e into main Jun 8, 2023
@cdata cdata deleted the fix/peer-history-not-found branch June 8, 2023 19:21
@github-actions github-actions bot mentioned this pull request Jun 8, 2023
@cdata cdata mentioned this pull request Jun 9, 2023
This was referenced Jul 1, 2023
@github-actions github-actions bot mentioned this pull request Aug 29, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants