MCPcopy Index your code
hub / github.com/devspace-sh/devspace / uploadArchive

Method uploadArchive

pkg/devspace/sync/upstream.go:965–1008  ·  view source on GitHub ↗
(reader io.ReadCloser)

Source from the content-addressed store, hash-verified

963}
964
965func (u *upstream) uploadArchive(reader io.ReadCloser) error {
966 defer reader.Close()
967
968 // cancel after 1 hour
969 ctx, cancel := context.WithTimeout(u.sync.ctx, time.Hour)
970 defer cancel()
971
972 // Create upload client
973 uploadClient, err := u.client.Upload(ctx)
974 if err != nil {
975 return errors.Wrap(err, "upload")
976 }
977
978 buf := make([]byte, 16*1024)
979 for {
980 n, err := reader.Read(buf)
981 if n > 0 {
982 err := uploadClient.Send(&remote.Chunk{
983 Content: buf[:n],
984 })
985 if err != nil {
986 _, recvErr := uploadClient.CloseAndRecv()
987 if recvErr != nil {
988 return errors.Wrap(recvErr, "upload send")
989 }
990
991 return errors.Wrap(err, "upload send")
992 }
993 }
994
995 if err == io.EOF {
996 _, err := uploadClient.CloseAndRecv()
997 if err != nil {
998 return errors.Wrap(err, "after upload")
999 }
1000
1001 break
1002 } else if err != nil {
1003 return errors.Wrap(err, "read tar")
1004 }
1005 }
1006
1007 return nil
1008}
1009
1010func (u *upstream) applyRemoves(files []*FileInformation) error {
1011 u.sync.fileIndex.fileMapMutex.Lock()

Callers 1

applyCreatesMethod · 0.95

Calls 6

WithTimeoutMethod · 0.80
CloseMethod · 0.65
UploadMethod · 0.65
SendMethod · 0.65
CloseAndRecvMethod · 0.65
ReadMethod · 0.45

Tested by

no test coverage detected