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: c25a30799b5b3af407876509a23410df9c794221
  1. services/