MCPcopy
hub / github.com/puma/puma-dev / Do

Method Do

linebuffer/linebuffer.go:40–72  ·  view source on GitHub ↗
(x func(string) error)

Source from the content-addressed store, hash-verified

38}
39
40func (lb *LineBuffer) Do(x func(string) error) error {
41 lb.lock.Lock()
42 defer lb.lock.Unlock()
43
44 var err error
45
46 if len(lb.lines) < lb.Size {
47 for _, l := range lb.lines {
48 err = x(l)
49 if err != nil {
50 return err
51 }
52 }
53
54 return nil
55 }
56
57 for i := lb.cur; i < lb.Size; i++ {
58 err = x(lb.lines[i])
59 if err != nil {
60 return err
61 }
62 }
63
64 for i := 0; i < lb.cur; i++ {
65 err = x(lb.lines[i])
66 if err != nil {
67 return err
68 }
69 }
70
71 return nil
72}
73
74func (lb *LineBuffer) WriteTo(w io.Writer) (int64, error) {
75 var tot int64

Callers 6

TestLineBufferFunction · 0.95
WriteToMethod · 0.95
TestServeDNSFunction · 0.80
getURLWithHostFunction · 0.80
pollForEventFunction · 0.80

Calls 1

xFunction · 0.85

Tested by 5

TestLineBufferFunction · 0.76
TestServeDNSFunction · 0.64
getURLWithHostFunction · 0.64
pollForEventFunction · 0.64