MCPcopy
hub / github.com/gorilla/websocket / write

Method write

conn.go:379–403  ·  view source on GitHub ↗
(frameType int, deadline time.Time, buf0, buf1 []byte)

Source from the content-addressed store, hash-verified

377}
378
379func (c *Conn) write(frameType int, deadline time.Time, buf0, buf1 []byte) error {
380 <-c.mu
381 defer func() { c.mu <- struct{}{} }()
382
383 c.writeErrMu.Lock()
384 err := c.writeErr
385 c.writeErrMu.Unlock()
386 if err != nil {
387 return err
388 }
389
390 c.conn.SetWriteDeadline(deadline)
391 if len(buf1) == 0 {
392 _, err = c.conn.Write(buf0)
393 } else {
394 err = c.writeBufs(buf0, buf1)
395 }
396 if err != nil {
397 return c.writeFatal(err)
398 }
399 if frameType == CloseMessage {
400 c.writeFatal(ErrCloseSent)
401 }
402 return nil
403}
404
405func (c *Conn) writeBufs(bufs ...[]byte) error {
406 b := net.Buffers(bufs)

Callers 2

WritePreparedMessageMethod · 0.95
flushFrameMethod · 0.80

Calls 4

writeBufsMethod · 0.95
writeFatalMethod · 0.95
SetWriteDeadlineMethod · 0.45
WriteMethod · 0.45

Tested by

no test coverage detected