GitLab
GitLab logoGitLab · Feature trail

Golang I/O Streams

1 post · Feb 2024

What this trail covers

GitLab's Gitaly, GitLab Shell, and Workhorse services, implemented in Go, efficiently handle terabytes of Git data transfer using streaming I/O. This involves composing Go's `io.Reader` and `io.Writer` interfaces to manage data chunks, stream content to HTTP responses, calculate multiple hashes simultaneously, combine multiple readers, and implement features like the Dependency Proxy by teeing data between readers and writers.

All GitLab trails