Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
Improve Uploading Experience
Merged fintohaps opened 2 years ago

The main goal of the patch is to improve the upload experience of repositories that are larger in size, e.g. 300MB and 3GB.

This is achieved by a series of changes, outlined in each commit, and summarised here:

  1. Dynamic timeouts for fetching by passing the timeout through the use Io::Fetch and Control::Open. This removes the DEFAULT_CHANNEL_TIMEOUT and we now default to FETCH_TIMEOUT when it’s not specified.
  2. The Emitter is moved to the radicle crate for re-use in radicle-fetch and radicle-node.
  3. Introduce events for the upload-pack process.
  4. Change the call method for the socket stream to use crossbeam-channel so that events can be subscribed to indefinitely but received with a timeout.
  5. The default value of FETCH_TIMEOUT is increased to 1 hour to allow the larger repositories to finish announcing and being cloned by seeds when initialised.
  6. Improve rad init to report the upload-pack events.
fintohaps opened with revision 33118649 on base c6076196 +487 -154 2 years ago

The main goal of the patch is to improve the upload experience of repositories that are larger in size, e.g. 300MB and 3GB.

This is achieved by a series of changes, outlined in each commit, and summarised here:

  1. Dynamic timeouts for fetching by passing the timeout through the use Io::Fetch and Control::Open. This removes the DEFAULT_CHANNEL_TIMEOUT and we now default to FETCH_TIMEOUT when it’s not specified.
  2. The Emitter is moved to the radicle crate for re-use in radicle-fetch and radicle-node.
  3. Introduce events for the upload-pack process.
  4. Change the call method for the socket stream to use crossbeam-channel so that events can be subscribed to indefinitely but received with a timeout.
  5. The default value of FETCH_TIMEOUT is increased to 1 hour to allow the larger repositories to finish announcing and being cloned by seeds when initialised.
  6. Improve rad init to report the upload-pack events.
fintohaps pushed revision 2 50cfa50d on base abf89438 +473 -151 1 year ago

Changes:

  • remove timeout from control frame
fintohaps pushed revision 3 a0a8da74 on base 6dd52c94 +499 -136 1 year ago

Changes:

  • Use LineIter for streaming semantics
  • Improve the Progress type to be an enum
  • Minor clean up from other review feedback
fintohaps pushed revision 4 46914356 on base 6ab3bfcb +514 -152 1 year ago

Changes:

  • Simplify error reporting
  • Remove logging of RemoteProgress
  • Simplify UploadPack event enum
fintohaps pushed revision 5 556c2fe9 on base 25c6660a +426 -152 1 year ago

Changes:

  • remove unused upload pack event errors
fintohaps pushed revision 6 bd112dd6 on base cadd996a +426 -152 1 year ago

Changes:

  • rebased
  • fixed documentation
did:key:z6MksFqX...wzpT merged revision bd112dd6 at 72c71501 1 year ago