shad-go/distbuild/pkg/tarstream
2020-04-11 23:34:36 +03:00
..
README.md Document tarstream 2020-04-04 17:28:13 +03:00
stream.go Place build tags 2020-04-05 16:24:48 +03:00
stream_test.go Workaround for umask problem in goland 2020-04-11 23:34:36 +03:00

tarstream

Вам нужно уметь передавать директорию с артефактами между воркерами. Для этого, вам нужно реализовать две операции:

package tarstream

import "io"

// Send рекурсивно обходит директорию и сериализует её содержимое в поток w.
func Send(dir string, w io.Writer) error

// Receive читает поток r и материализует содержимое потока внутри dir.
func Receive(dir string, r io.Reader) error
  • Функции должны корректно обрабатывать директории и обычные файлы.
  • executable бит на файлах должен сохраняться.
  • Используйте формат tar
  • Используйте filepath.Walk для рекурсивного обхода.