MCPcopy Index your code
hub / github.com/coder/websocket / waitCloseHandshake

Method waitCloseHandshake

close.go:198–228  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

196}
197
198func (c *Conn) waitCloseHandshake() error {
199 ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
200 defer cancel()
201
202 err := c.readMu.lock(ctx)
203 if err != nil {
204 return err
205 }
206 defer c.readMu.unlock()
207
208 for i := int64(0); i < c.msgReader.payloadLength; i++ {
209 _, err := c.br.ReadByte()
210 if err != nil {
211 return err
212 }
213 }
214
215 for {
216 h, err := c.readLoop(ctx)
217 if err != nil {
218 return err
219 }
220
221 for i := int64(0); i < h.payloadLength; i++ {
222 _, err := c.br.ReadByte()
223 if err != nil {
224 return err
225 }
226 }
227 }
228}
229
230func (c *Conn) waitGoroutines() error {
231 t := time.NewTimer(time.Second * 15)

Callers 1

closeHandshakeMethod · 0.95

Calls 3

readLoopMethod · 0.95
lockMethod · 0.80
unlockMethod · 0.45

Tested by

no test coverage detected