mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
35 lines
701 B
Go
35 lines
701 B
Go
|
package metastore
|
||
|
|
||
|
import (
|
||
|
"io/ioutil"
|
||
|
"os"
|
||
|
"path"
|
||
|
)
|
||
|
|
||
|
// store data on disk, enough for most cases
|
||
|
|
||
|
type MetaStoreFileBacking struct {
|
||
|
}
|
||
|
|
||
|
func NewMetaStoreFileBacking() MetaStoreFileBacking {
|
||
|
mms := MetaStoreFileBacking{}
|
||
|
return mms
|
||
|
}
|
||
|
|
||
|
func (mms MetaStoreFileBacking) Set(val []byte, elem ...string) error {
|
||
|
return ioutil.WriteFile(path.Join(elem...), val, 0644)
|
||
|
}
|
||
|
|
||
|
func (mms MetaStoreFileBacking) Get(elem ...string) (val []byte, err error) {
|
||
|
return ioutil.ReadFile(path.Join(elem...))
|
||
|
}
|
||
|
|
||
|
func (mms MetaStoreFileBacking) Has(elem ...string) (ok bool) {
|
||
|
seqFile, se := os.OpenFile(path.Join(elem...), os.O_RDONLY, 0644)
|
||
|
if se != nil {
|
||
|
return false
|
||
|
}
|
||
|
defer seqFile.Close()
|
||
|
return true
|
||
|
}
|