n0-computer / n0-computer/dumbpipe
dumbpipe doesn't seem to signal when the pipe operation has "ended"
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 782
- Forks
- 52
- PR merge metrics
- No merged PRs in 30d
Description
I'm using dumbpipe to cat a file over a network connection and receive it on the computer that's connected to a tape drive (/dev/nst0), to write the file to tape.
When the cat file | dumbpipe connect [ticket] side is done, it doesn't seem to signal that to the dumbpipe listen | mbuffer -o /dev/nst0 on the other machine, so I need to do these steps in this order:
- press Ctrl+c on the sending end.
- press Enter on the receiving end (which seems cause some 'closing' action on either mbuffer or dumbpipe).
If I instead Ctrl+c out on the receiving end, it seems mbuffer doesn't flush the final bit of data, which results in the last 40 or so kilobytes never being written to tape.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the two commands described: cat file | dumbpipe connect [ticket] and dumbpipe listen | mbuffer -o /dev/nst0. Trace the sender and receiver shutdown paths to determine why completion is not signaled and why interrupting the receiver loses buffered data. Done means the receiving pipe observes end-of-input and mbuffer can flush the complete file without manual Ctrl+c or Enter.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100