shithub: furgit

Download patch

ref: 4c56d5a12febec96e819c7a165e5098f2c693deb
parent: ab312b309bf0403241f8278a9f50daa270ea3d76
author: Runxi Yu <me@runxiyu.org>
date: Sat Mar 7 16:55:01 EST 2026

protocol/v0v1/server: Add ProgessWriter and ErrorWriter

--- a/protocol/v0v1/server/session.go
+++ b/protocol/v0v1/server/session.go
@@ -86,3 +86,25 @@
 
 	return session.enc.WriteFlush()
 }
+
+// ProgressWriter returns one chunking writer for sideband progress output.
+//
+// When side-band-64k was not negotiated, writes are discarded.
+func (session *Session) ProgressWriter() io.Writer {
+	if !session.useSideBand {
+		return io.Discard
+	}
+
+	return sideband64k.NewChunkWriter(session.sideband, sideband64k.BandProgress)
+}
+
+// ErrorWriter returns one chunking writer for sideband error output.
+//
+// When side-band-64k was not negotiated, writes are discarded.
+func (session *Session) ErrorWriter() io.Writer {
+	if !session.useSideBand {
+		return io.Discard
+	}
+
+	return sideband64k.NewChunkWriter(session.sideband, sideband64k.BandError)
+}
--