v.io/syncbase/x/ref/services/syncbase/localblobstore: interface for blob store implementations

This CL introduces localblobstore/model.go, which contains Go
interfaces that allow access to a generic local blob store.  fs_cablobstore
is an implementation of this interface.  We might expect to write other
implementations using cloud services.

fs_cablobstore/fs_cablobstore.go changed because the struct
BlockOrFile is not exported by localblobstore and imported by fs_cablobstore.

The previous test code in fs_cablobstore has moved into a library
	localblobstore_testlib/localblobstore_testlib.go
which is now called by localblobstore/localblobstore_test.go and
fs_cablobstore/fs_cablobstore_test.go.  The parts of the test that rely on file
system access to the internals of the blob store have been made conditional
of being passed a non-empty directory name for the blob store.

The intent is that if we create a new implementation of a localblobstore,
we will be able to test it using localblobstore_testlib.

Change-Id: I77aff1ecfb987dbbed817a75f10dd063c5c5efb4
5 files changed
tree: 1d26d049f500d2d9cd52cbd8e39fe9dcd9abfe39
  1. v23/
  2. x/
  3. .gitignore
  4. AUTHORS
  5. CONTRIBUTORS
  6. LICENSE
  7. PATENTS
  8. VERSION