MCPcopy
hub / github.com/wavetermdev/waveterm / queueMessage

Method queueMessage

pkg/web/sse/ssehandler.go:248–269  ·  view source on GitHub ↗

queueMessage queues an SSEMessage to be written

(msg SSEMessage)

Source from the content-addressed store, hash-verified

246
247// queueMessage queues an SSEMessage to be written
248func (h *SSEHandlerCh) queueMessage(msg SSEMessage) error {
249 h.lock.Lock()
250 closed := h.closed
251 h.lock.Unlock()
252
253 if closed {
254 return fmt.Errorf("SSE handler is closed")
255 }
256
257 if err := h.Err(); err != nil {
258 return err
259 }
260
261 select {
262 case h.writeCh <- msg:
263 return nil
264 case <-h.ctx.Done():
265 return h.ctx.Err()
266 default:
267 return fmt.Errorf("write channel is full")
268 }
269}
270
271// WriteData queues data to be written in SSE format
272func (h *SSEHandlerCh) WriteData(data string) error {

Callers 3

WriteDataMethod · 0.95
WriteEventMethod · 0.95
WriteCommentMethod · 0.95

Calls 1

ErrMethod · 0.95

Tested by

no test coverage detected