in e2e-examples/gcs/main.go [221:247]
func getInsertRequest(isFirst bool, isLast bool, offset int64, buf []byte) *gcspb.InsertObjectRequest {
req := &gcspb.InsertObjectRequest{}
if isFirst {
req.FirstMessage = &gcspb.InsertObjectRequest_InsertObjectSpec{
InsertObjectSpec: &gcspb.InsertObjectSpec{
Resource: &gcspb.Object{
Bucket: *bucketName,
Name: *objectName,
},
},
}
}
crc32c := crc32.MakeTable(crc32.Castagnoli)
req.Data = &gcspb.InsertObjectRequest_ChecksummedData{
ChecksummedData: &gcspb.ChecksummedData{
Content: buf,
Crc32C: &wrappers.UInt32Value{
Value: crc32.Checksum(buf, crc32c),
},
},
}
req.WriteOffset = offset
if isLast {
req.FinishWrite = true
}
return req
}