(ctx context.Context, br blob.Ref, source io.Reader)
| 71 | } |
| 72 | |
| 73 | func (tf *Fetcher) ReceiveBlob(ctx context.Context, br blob.Ref, source io.Reader) (blob.SizedRef, error) { |
| 74 | sb, err := tf.Storage.ReceiveBlob(ctx, br, source) |
| 75 | if err != nil { |
| 76 | return sb, err |
| 77 | } |
| 78 | if err := tf.ReceiveErr; err != nil { |
| 79 | tf.RemoveBlobs(ctx, []blob.Ref{br}) |
| 80 | return sb, err |
| 81 | } |
| 82 | return sb, nil |
| 83 | } |
| 84 | |
| 85 | func (tf *Fetcher) AddBlob(b *Blob) { |
| 86 | _, err := tf.ReceiveBlob(context.Background(), b.BlobRef(), b.Reader()) |
no test coverage detected