diff options
author | Zahoor Mohamed <zahoor@zahoor.in> | 2017-03-23 21:56:06 +0800 |
---|---|---|
committer | Felix Lange <fjl@users.noreply.github.com> | 2017-03-23 21:56:06 +0800 |
commit | 11e7a712f469fb24ddb88ecebcefab6ed8880eb8 (patch) | |
tree | c052776c80475767eb7a038bef99ff784b071ef7 /swarm/api/swarmfs.go | |
parent | 61d2150a0750a554250c3bf090ef994be6c060f0 (diff) | |
download | go-tangerine-11e7a712f469fb24ddb88ecebcefab6ed8880eb8.tar go-tangerine-11e7a712f469fb24ddb88ecebcefab6ed8880eb8.tar.gz go-tangerine-11e7a712f469fb24ddb88ecebcefab6ed8880eb8.tar.bz2 go-tangerine-11e7a712f469fb24ddb88ecebcefab6ed8880eb8.tar.lz go-tangerine-11e7a712f469fb24ddb88ecebcefab6ed8880eb8.tar.xz go-tangerine-11e7a712f469fb24ddb88ecebcefab6ed8880eb8.tar.zst go-tangerine-11e7a712f469fb24ddb88ecebcefab6ed8880eb8.zip |
swarm/api: support mounting manifests via FUSE (#3690)
Diffstat (limited to 'swarm/api/swarmfs.go')
-rw-r--r-- | swarm/api/swarmfs.go | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/swarm/api/swarmfs.go b/swarm/api/swarmfs.go new file mode 100644 index 000000000..8427d3c5b --- /dev/null +++ b/swarm/api/swarmfs.go @@ -0,0 +1,48 @@ +// Copyright 2017 The go-ethereum Authors +// This file is part of the go-ethereum library. +// +// The go-ethereum library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The go-ethereum library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. + +package api + +import ( + "time" + "sync" +) + +const ( + Swarmfs_Version = "0.1" + mountTimeout = time.Second * 5 + maxFuseMounts = 5 +) + + +type SwarmFS struct { + swarmApi *Api + activeMounts map[string]*MountInfo + activeLock *sync.RWMutex +} + + + +func NewSwarmFS(api *Api) *SwarmFS { + swarmfs := &SwarmFS{ + swarmApi: api, + activeLock: &sync.RWMutex{}, + activeMounts: map[string]*MountInfo{}, + } + return swarmfs +} + + |