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