Based on kr's example (syntantically valid Go code, to make cmd/go happy, but
will fail to compile and include the failure text)
Change-Id: I11f9eeabf6bf2c77055752014c71183b7eb7b23a
To be implemented later, but adding now so googledrive's blob storage implementation
can depend on them.
Change-Id: Ief374e8592bd696c79aa2b80ded11e301063750b
Not just in blob.SizedRef, but in blobserver.Fetch and
blobserver.FetchStreaming, too.
Blobs have a max size of 10-32 MB anyway, and the index.Corpus is now using
uint32 to save memory.
Change-Id: I1172445c2f9463fdaee55bfe0f1218d44be4aa53
This new type (blob.Blob) will be used to implement a blob streaming
interface for the storage engines.
Change-Id: I05f3a68022368cf9c7b4a98cced3098ba3965799
BenchmarkParseBlob 2000000 727 ns/op 64 B/op 2 allocs/op
BenchmarkParseBlob 5000000 531 ns/op 64 B/op 2 allocs/op
Kinda pointless and mostly the result of a failed refactor anyway,
but checking it in.
Change-Id: I7cdd0a8c5d03d7e223626ef6ddb77d8d10dd06a7
Shorter name (blob.Ref instead of *blobref.BlobRef) and value
semantics instead of pointer.
Also, equality (==) works on it, so it can be used as a map key.
It's also more memory efficient, for the upcoming search server that
needs to store tons (or all) of your blobrefs in memory.
Change-Id: I494a2d72d31865211fa388fedf938ed25f99ca13