mirror of
https://github.com/harness/drone.git
synced 2025-05-07 11:21:34 +08:00
34 lines
498 B
Go
34 lines
498 B
Go
package writer
|
|
|
|
import "io"
|
|
|
|
type Flusher interface {
|
|
Flush()
|
|
}
|
|
|
|
type writeWithFlusher struct {
|
|
writer io.Writer
|
|
flusher Flusher
|
|
}
|
|
|
|
type WriterFlusher interface {
|
|
io.Writer
|
|
Flusher
|
|
}
|
|
|
|
func NewWriterFlusher(writer io.Writer, flusher Flusher) WriterFlusher {
|
|
return &writeWithFlusher{
|
|
writer: writer,
|
|
flusher: flusher,
|
|
}
|
|
}
|
|
|
|
func (w *writeWithFlusher) Write(p []byte) (int, error) {
|
|
n, err := w.writer.Write(p)
|
|
return n, err
|
|
}
|
|
|
|
func (w *writeWithFlusher) Flush() {
|
|
w.flusher.Flush()
|
|
}
|