Decode transport messages, present them, and dispatch UI-ready state. More...
Protected Member Functions | |
| None | _schedule_state (self, Callable[[], None] callback) |
| Queue UI work without crossing into Tk from a dispatcher worker. | |
| None | _drain_ui_queue (self) |
| Apply pending presentation state from the Tk/main thread. | |
Decode transport messages, present them, and dispatch UI-ready state.
|
protected |
Queue UI work without crossing into Tk from a dispatcher worker.
MessageDispatcher handlers run on ThreadPoolExecutor workers. Calling Tk.after from those workers can block waiting for Tk's main loop, particularly while the window is being destroyed. Keep that boundary thread-safe by making workers enqueue callbacks only. start() installs the queue drain from the UI thread before ingress begins.