shad-go/distbuild/pkg/tarstream
2023-04-26 15:51:11 +04:00
..
README.md fix 29 typos 2022-03-08 18:56:01 +03:00
stream.go go fix old build tags. 2022-03-15 23:49:56 +03:00
stream_test.go Move distbuild blocks back to distbuild 2023-04-26 15:51:11 +04: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 для рекурсивного обхода.