sshnet / sshnet/SSH.NET

Continue Interrupted file uploads

Offen
#660 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C#
Sterne
4.4k
Forks
993
Ø Merge
9 T. 21 Std.
Gemergte PRs (30 T.)
1

Beschreibung

Hi,

I am in a situation where I am uploading large files via SFTP , and sometimes this gets interrupted. The next time I try I want to continue where it stopped. The provided SftpClient.UploadFile functionality did not have that option, so I wrote it using an SftpStream to write to. However the throughput of that was something like 4 to 5 times lower than a call to uploadfile.

So I ended up forking, and added a parameter "continueAbortedTransfer", to the
(Internal)UploadFile function. And a few lines of code at the start of the function to set
the stream positions correctly if the user wants to continue where it stopped the last time.

I have some questions:

  1. Is there an interest in this option, and should I try to prepare a pull request?
  2. Is the best way to add this? I know very little about the internals of this library,
    this was the first location that I found and it is just a couple of lines of code, but
    it could well be that there are better ways to add options like this, or that I broke
    some other code in the process.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, SftpClient.UploadFile und die interne UploadFile-Implementierung nachzuverfolgen, und vergleiche sie anschließend mit dem im Issue beschriebenen SftpStream-Ansatz. Ermittle, wie unterbrochene Übertragungen fortgesetzt werden sollen, wobei das bestehende Upload-Verhalten und der Durchsatz erhalten bleiben. Als abgeschlossen gilt die Aufgabe, wenn die Option eindeutig definiert ist und fortsetzbare Uploads zuverlässig funktionieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
networking
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.