github.com/linapex/ethereum-dpos-chinese@v0.0.0-20190316121959-b78b3a4a1ece/swarm/storage/mock/mock.go (about) 1 2 //<developer> 3 // <name>linapex 曹一峰</name> 4 // <email>linapex@163.com</email> 5 // <wx>superexc</wx> 6 // <qqgroup>128148617</qqgroup> 7 // <url>https://jsq.ink</url> 8 // <role>pku engineer</role> 9 // <date>2019-03-16 12:09:49</date> 10 //</624342682243698688> 11 12 // 13 // 14 // 15 // 16 // 17 // 18 // 19 // 20 // 21 // 22 // 23 // 24 // 25 // 26 // 27 28 // 29 // 30 // 31 // 32 // 33 // 34 // 35 // 36 // 37 // 38 // 39 // 40 // 41 // 42 // 43 // 44 package mock 45 46 import ( 47 "errors" 48 "io" 49 50 "github.com/ethereum/go-ethereum/common" 51 ) 52 53 // 54 var ErrNotFound = errors.New("not found") 55 56 // 57 // 58 type NodeStore struct { 59 store GlobalStorer 60 addr common.Address 61 } 62 63 // 64 // 65 func NewNodeStore(addr common.Address, store GlobalStorer) *NodeStore { 66 return &NodeStore{ 67 store: store, 68 addr: addr, 69 } 70 } 71 72 // 73 // 74 func (n *NodeStore) Get(key []byte) (data []byte, err error) { 75 return n.store.Get(n.addr, key) 76 } 77 78 // 79 // 80 func (n *NodeStore) Put(key []byte, data []byte) error { 81 return n.store.Put(n.addr, key, data) 82 } 83 84 // 85 // 86 // 87 // 88 type GlobalStorer interface { 89 Get(addr common.Address, key []byte) (data []byte, err error) 90 Put(addr common.Address, key []byte, data []byte) error 91 HasKey(addr common.Address, key []byte) bool 92 // 93 // 94 // 95 NewNodeStore(addr common.Address) *NodeStore 96 } 97 98 // 99 // 100 type Importer interface { 101 Import(r io.Reader) (n int, err error) 102 } 103 104 // 105 // 106 type Exporter interface { 107 Export(w io.Writer) (n int, err error) 108 } 109 110 // 111 // 112 type ImportExporter interface { 113 Importer 114 Exporter 115 } 116 117 // 118 // 119 type ExportedChunk struct { 120 Data []byte `json:"d"` 121 Addrs []common.Address `json:"a"` 122 } 123