golang/groupcache

Exposed interface Sink not usable

gouthamve opened this issue · 1 comments

I am currently trying to implement a custom sink but the definition has an unexported method which makes it impossible to implement a custom Sink. Is this intended, if not, will you accept a PR changing it?

My use-case for a custom Sink, currently I am caching 4MB chunks and would like to only read 500 bytes at a time at different offsets. But for each call, groupcache allocates full 4MB when calling cloneBytes(), I would like to allocate right amount to reduce allocs.

cc @bradfitz

It's intentional that it has a private method, so we can make assumptions safely in the code about the set of possible concrete type conversions.

Rather than supporting custom sinks, I'd rather address any deficiencies in the provided ones.