kaniko/vendor/github.com/acomagu/bufpipe
dependabot[bot] 4edf751d43
chore(deps): bump github.com/go-git/go-git/v5 from 5.4.2 to 5.7.0 (#2528)
Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.4.2 to 5.7.0.
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](https://github.com/go-git/go-git/compare/v5.4.2...v5.7.0)

---
updated-dependencies:
- dependency-name: github.com/go-git/go-git/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-29 16:28:53 -07:00
..
CREDITS chore(deps): bump github.com/go-git/go-git/v5 from 5.4.2 to 5.7.0 (#2528) 2023-05-29 16:28:53 -07:00
LICENSE chore(deps): bump github.com/go-git/go-git/v5 from 5.4.2 to 5.7.0 (#2528) 2023-05-29 16:28:53 -07:00
README.md chore(deps): bump github.com/go-git/go-git/v5 from 5.4.2 to 5.7.0 (#2528) 2023-05-29 16:28:53 -07:00
bufpipe.go chore(deps): bump github.com/go-git/go-git/v5 from 5.4.2 to 5.7.0 (#2528) 2023-05-29 16:28:53 -07:00
doc.go Bump deps (#1885) 2022-01-21 13:59:16 -05:00

README.md

bufpipe: Buffered Pipe

CircleCI GoDoc

The buffered version of io.Pipe. It's safe for concurrent use.

How does it differ from io.Pipe?

Writes never block because the pipe has variable-sized buffer.

r, w := bufpipe.New(nil)
io.WriteString(w, "abc") // No blocking.
io.WriteString(w, "def") // No blocking, too.
w.Close()
io.Copy(os.Stdout, r)
// Output: abcdef

Playground

How does it differ from bytes.Buffer?

Reads block if the internal buffer is empty until the writer is closed.

r, w := bufpipe.New(nil)

done := make(chan struct{})
go func() {
	io.Copy(os.Stdout, r) // The reads block until the writer is closed.
	done <- struct{}{}
}()

io.WriteString(w, "abc")
io.WriteString(w, "def")
w.Close()
<-done
// Output: abcdef

Playground

Contribution

Generate CREDITS

The CREDITS file are generated by gocredits. Update it when the dependencies are changed.

$ gocredits > CREDITS