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

Method handleShellData

workers/websocket/agent/agent.go:294–307  ·  view source on GitHub ↗
(agentMsg messaging.AgentMessage, raw []byte)

Source from the content-addressed store, hash-verified

292}
293
294func (a *Agent) handleShellData(agentMsg messaging.AgentMessage, raw []byte) error {
295 shellData, err := messaging.Unmarshal[messaging.ShellDataMessage](agentMsg)
296 if err != nil {
297 return fmt.Errorf("failed to unmarshal shell data message: %w", err)
298 }
299 session, ok := a.shellSessions[shellData.ID()]
300 if !ok {
301 return nil
302 }
303 if err := session.Write(raw); err != nil {
304 return fmt.Errorf("failed to write message: %w", err)
305 }
306 return nil
307}
308
309func (a *Agent) handleStatusMessage(agentMsg messaging.AgentMessage) error {
310 statusUpdate, err := messaging.Unmarshal[messaging.RunnerUpdateMessage](agentMsg)

Callers 1

messageHandlerMethod · 0.95

Calls 2

IDMethod · 0.65
WriteMethod · 0.45

Tested by

no test coverage detected