github.com/insolar/vanilla@v0.0.0-20201023172447-248fdf805322/synckit/rwlock.go (about)

     1  // Copyright 2020 Insolar Network Ltd.
     2  // All rights reserved.
     3  // This material is licensed under the Insolar License version 1.0,
     4  // available at https://github.com/insolar/assured-ledger/blob/master/LICENSE.md.
     5  
     6  package synckit
     7  
     8  import "sync"
     9  
    10  type RWLocker interface {
    11  	sync.Locker
    12  	RLock()
    13  	RUnlock()
    14  }
    15  
    16  func DummyLocker() RWLocker {
    17  	return &dummyLock
    18  }
    19  
    20  var dummyLock = dummyLocker{}
    21  
    22  type dummyLocker struct{}
    23  
    24  func (*dummyLocker) Lock()    {}
    25  func (*dummyLocker) Unlock()  {}
    26  func (*dummyLocker) RUnlock() {}
    27  func (*dummyLocker) RLock()   {}
    28  
    29  func (*dummyLocker) String() string {
    30  	return "dummyLocker"
    31  }