...
1 package grpc_testing
2
3 import (
4 "io"
5 "sync"
6 )
7
8
9 type MutexReadWriter struct {
10 sync.Mutex
11 rw io.ReadWriter
12 }
13
14
15 func NewMutexReadWriter(rw io.ReadWriter) *MutexReadWriter {
16 return &MutexReadWriter{rw: rw}
17 }
18
19
20 func (m *MutexReadWriter) Write(p []byte) (int, error) {
21 m.Lock()
22 defer m.Unlock()
23 return m.rw.Write(p)
24 }
25
26
27 func (m *MutexReadWriter) Read(p []byte) (int, error) {
28 m.Lock()
29 defer m.Unlock()
30 return m.rw.Read(p)
31 }
32
View as plain text