OpenCanvases returns the open-canvas snapshot last reported by the runtime. The snapshot is populated from session.resume and live session.canvas.opened and session.canvas.closed events. The returned slice is a copy and is safe to mutate by the caller.
()
| 108 | // and session.canvas.closed events. The returned slice is a copy and is safe to |
| 109 | // mutate by the caller. |
| 110 | func (s *Session) OpenCanvases() []rpc.OpenCanvasInstance { |
| 111 | s.openCanvasesMu.RLock() |
| 112 | defer s.openCanvasesMu.RUnlock() |
| 113 | if len(s.openCanvases) == 0 { |
| 114 | return nil |
| 115 | } |
| 116 | out := make([]rpc.OpenCanvasInstance, len(s.openCanvases)) |
| 117 | copy(out, s.openCanvases) |
| 118 | return out |
| 119 | } |
| 120 | |
| 121 | func (s *Session) setOpenCanvases(canvases []rpc.OpenCanvasInstance) { |
| 122 | s.openCanvasesMu.Lock() |
no outgoing calls