github.com/jmigpin/editor@v1.6.0/util/iout/iorw/rwlocked.go (about)

     1  package iorw
     2  
     3  //type RWLocked struct {
     4  //	sync.RWMutex // can be locked from the outside to use ReadWriter directly
     5  //	ReadWriter
     6  //}
     7  
     8  //func NewRWLocker(rw ReadWriter) *RWLocked {
     9  //	return &RWLocked{ReadWriter: rw}
    10  //}
    11  
    12  ////----------
    13  
    14  //func (rw *RWLocked) Overwrite(i, n int, p []byte) error {
    15  //	rw.Lock()
    16  //	defer rw.Unlock()
    17  //	return rw.ReadWriter.Overwrite(i, n, p)
    18  //}
    19  
    20  ////----------
    21  
    22  //func (rw *RWLocked) ReadRuneAt(i int) (ru rune, size int, err error) {
    23  //	rw.RLock()
    24  //	defer rw.RUnlock()
    25  //	return rw.ReadWriter.ReadRuneAt(i)
    26  //}
    27  
    28  //func (rw *RWLocked) ReadLastRuneAt(i int) (ru rune, size int, err error) {
    29  //	rw.RLock()
    30  //	defer rw.RUnlock()
    31  //	return rw.ReadWriter.ReadLastRuneAt(i)
    32  //}
    33  
    34  //func (rw *RWLocked) ReadNAtFast(i, n int) ([]byte, error) {
    35  //	rw.RLock()
    36  //	defer rw.RUnlock()
    37  //	return rw.ReadWriter.ReadNAtFast(i, n)
    38  //}
    39  
    40  //func (rw *RWLocked) ReadNAtCopy(i, n int) ([]byte, error) {
    41  //	rw.RLock()
    42  //	defer rw.RUnlock()
    43  //	return rw.ReadWriter.ReadNAtCopy(i, n)
    44  //}
    45  
    46  //func (rw *RWLocked) Min() int {
    47  //	rw.RLock()
    48  //	defer rw.RUnlock()
    49  //	return rw.ReadWriter.Min()
    50  //}
    51  
    52  //func (rw *RWLocked) Max() int {
    53  //	rw.RLock()
    54  //	defer rw.RUnlock()
    55  //	return rw.ReadWriter.Max()
    56  //}