Flushing the futures pipeline when downloading over HTTP(S)

[?]
Dec 27, 2020, 6:34 PM
WTZXEWY7IAXJAFNV7STCNQY2SNRDPHX3MKOEZ77NEJUN4MS2VYSQC

Dependencies

  • [2] IQ4FCHPZ HTTP connections: pooling + retry on error
  • [3] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [4] X6YFD4WV Do not download changes if we already have them
  • [5] BZSC7VMY address clippy lints
  • [6] UDHP4ZVB Fixing SSH asynchronicity issues
  • [7] WLUID7NA Do not block when downloading more than 100 changes over SSH
  • [*] FBXYP7QM Forgot to add remote::http

Change contents

  • replacement in pijul/src/remote/ssh.rs at line 448
    [3.4784][3.4784:4840]()
    path.set_extension("");
    [3.4784]
    [3.4840]
    path.set_extension("tmp");
  • replacement in pijul/src/remote/ssh.rs at line 786
    [3.46548][3.46548:46580]()
    path.set_extension("");
    [3.46548]
    [3.9044]
    path.set_extension("tmp");
  • edit in pijul/src/remote/http.rs at line 107
    [2.2118]
    [9.1349]
    }
    for f in 0..POOL_SIZE {
    if let Some(t) = pool[(cur + f) % POOL_SIZE].take() {
    let c = t.await??;
    if send.send(c).await.is_err() {
    debug!("err for {:?}", c);
    progress.abandon();
    break;
    }
    }