package metastore import ( "io/ioutil" "os" ) // store data on disk, enough for most cases type MetaStoreFileBacking struct { } func NewMetaStoreFileBacking() *MetaStoreFileBacking { mms := &MetaStoreFileBacking{} return mms } func (mms *MetaStoreFileBacking) Set(path, val string) error { return ioutil.WriteFile(path, []byte(val), 0644) } func (mms *MetaStoreFileBacking) Get(path string) (string, error) { val, e := ioutil.ReadFile(path) return string(val), e } func (mms *MetaStoreFileBacking) Has(path string) (ok bool) { seqFile, se := os.OpenFile(path, os.O_RDONLY, 0644) if se != nil { return false } defer seqFile.Close() return true }