Fixing asynchronicity problems in SSH

[?]
Nov 25, 2020, 3:37 PM
QE64ATLZWMKHYABCD3VA547PYXCK6YN3K7RE2TX3SCQNKG7XLVAQC

Dependencies

  • [2] I52XSRUH Massive cleanup, and simplification
  • [3] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [4] UDHP4ZVB Fixing SSH asynchronicity issues

Change contents

  • edit in pijul/src/remote/ssh.rs at line 266
    [3.1048][3.1048:1137]()
    // type FutureUnit = futures::future::Ready<Result<(Self, Session), anyhow::Error>>;
  • edit in pijul/src/remote/ssh.rs at line 271
    [3.32768][3.1139:1194]()
    // futures::future::ready(Ok((self, session)))
  • edit in pijul/src/remote/ssh.rs at line 421
    [3.6540]
    [3.6540]
    }
    State::Channel { ref mut sender } => {
    debug!("state channel");
    sender.send(data).await?
  • edit in pijul/src/remote/ssh.rs at line 426
    [3.6558][3.6558:6637]()
    State::Channel { ref mut sender } => sender.send(data).await?,
  • edit in pijul/src/remote/ssh.rs at line 433
    [2.311]
    [3.6750]
    debug!("state archive");
  • edit in pijul/src/remote/ssh.rs at line 740
    [3.50331]
    [3.10129]
    debug!("receiving channel");
  • edit in pijul/src/remote/ssh.rs at line 742
    [3.10183]
    [3.10183]
    debug!("msg = {:?}", msg.len());
  • edit in pijul/src/remote/ssh.rs at line 744
    [3.10226]
    [3.10226]
    debug!("break");
  • edit in pijul/src/remote/ssh.rs at line 748
    [3.51299]
    [3.51299]
    debug!("from dump done");
  • edit in pijul/src/remote/ssh.rs at line 757
    [3.51588][3.51588:51716]()
    self.c
    .data(format!("change {}\n", h.to_base32()).as_bytes())
    .await?;
  • edit in pijul/src/remote/ssh.rs at line 761
    [2.515][3.51899:52027](),[3.51899][3.51899:52027]()
    self.c
    .data(format!("change {}\n", h.to_base32()).as_bytes())
    .await?;
  • replacement in pijul/src/remote/ssh.rs at line 765
    [3.52117][3.52117:52158]()
    debug!("hashes = {:?}", hashes);
    [3.52117]
    [3.52158]
    debug!("hashes = {:#?}", hashes);
  • replacement in pijul/src/remote/ssh.rs at line 767
    [3.52222][3.10254:10334]()
    self.download_changes(&hashes, &mut send, &mut repo.changes_dir, false)
    [3.52222]
    [3.52289]
    self.download_changes(&hashes, &mut send, &mut repo.changes_dir, true)
  • edit in pijul/src/commands/clone.rs at line 88
    [3.185778]
    [3.185778]
    remote.finish().await?;