MCPcopy Create free account
hub / github.com/cloudbase/garm / safeWrite

Method safeWrite

workers/websocket/agent/shell.go:97–108  ·  view source on GitHub ↗
(messageType int, data []byte)

Source from the content-addressed store, hash-verified

95}
96
97func (c *ClientSession) safeWrite(messageType int, data []byte) error {
98 c.writeMux.Lock()
99 defer c.writeMux.Unlock()
100
101 if err := c.clientConn.SetWriteDeadline(time.Now().Add(writeWait)); err != nil {
102 return fmt.Errorf("failed to set write deadline: %w", err)
103 }
104 if err := c.clientConn.WriteMessage(messageType, data); err != nil {
105 return fmt.Errorf("failed to write message to client: %w", err)
106 }
107 return nil
108}
109
110func (c *ClientSession) Write(msg []byte) error {
111 if err := c.safeWrite(websocket.BinaryMessage, msg); err != nil {

Callers 4

StopMethod · 0.95
WriteMethod · 0.95
loopMethod · 0.95
CreateShellSessionMethod · 0.95

Calls 3

AddMethod · 0.80
LockMethod · 0.65
UnlockMethod · 0.65

Tested by

no test coverage detected