MCPcopy Index your code
hub / github.com/coder/coder / HandleWorkspaceEvent

Function HandleWorkspaceEvent

coderd/wspubsub/wspubsub.go:57–74  ·  view source on GitHub ↗
(cb func(ctx context.Context, payload WorkspaceEvent, err error))

Source from the content-addressed store, hash-verified

55}
56
57func HandleWorkspaceEvent(cb func(ctx context.Context, payload WorkspaceEvent, err error)) func(ctx context.Context, message []byte, err error) {
58 return func(ctx context.Context, message []byte, err error) {
59 if err != nil {
60 cb(ctx, WorkspaceEvent{}, xerrors.Errorf("workspace event pubsub: %w", err))
61 return
62 }
63 var payload WorkspaceEvent
64 if err := json.Unmarshal(message, &payload); err != nil {
65 cb(ctx, WorkspaceEvent{}, xerrors.Errorf("unmarshal workspace event"))
66 return
67 }
68 if err := payload.Validate(); err != nil {
69 cb(ctx, payload, xerrors.Errorf("validate workspace event"))
70 return
71 }
72 cb(ctx, payload, err)
73 }
74}
75
76type WorkspaceEvent struct {
77 Kind WorkspaceEventKind `json:"kind"`

Callers 8

startMethod · 0.92
watchWorkspaceMethod · 0.92
workspaceAgentLogsMethod · 0.92
TestUpdateStatsFunction · 0.92
TestAcquireJobFunction · 0.92
TestFailJobFunction · 0.92
TestCompleteJobFunction · 0.92

Calls 3

ValidateMethod · 0.95
ErrorfMethod · 0.45
UnmarshalMethod · 0.45

Tested by 4

TestUpdateStatsFunction · 0.74
TestAcquireJobFunction · 0.74
TestFailJobFunction · 0.74
TestCompleteJobFunction · 0.74