func getInsertRequest()

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
}