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 }