[GH-ISSUE #115] Implement non-blocking event subscriber system #76

Closed
opened 2026-03-03 16:22:09 +03:00 by kerem · 1 comment
Owner

Originally created by @mum4k on GitHub (Feb 11, 2019).
Original GitHub issue: https://github.com/mum4k/termdash/issues/115

We are starting to add more and more subscribers to the mouse and keyboard events. The current approach with closures doesn't scale, since any misbehaving subscriber can block or slow down the entire application.

We will want:

  • ability to subscribe to all or just some events depending on even type, location? (focus)
  • ensure that the infrastructure doesn't slow down, deadlock or drop events when a single subscriber misbehaves
  • per project goals, this should come with an easy to use API that doesn't expose concurrency primitives like channels.
Originally created by @mum4k on GitHub (Feb 11, 2019). Original GitHub issue: https://github.com/mum4k/termdash/issues/115 We are starting to add more and more subscribers to the mouse and keyboard events. The current approach with closures doesn't scale, since any misbehaving subscriber can block or slow down the entire application. We will want: - ability to subscribe to all or just some events depending on even type, location? (focus) - ensure that the infrastructure doesn't slow down, deadlock or drop events when a single subscriber misbehaves - per project goals, this should come with an easy to use API that doesn't expose concurrency primitives like channels.
kerem 2026-03-03 16:22:09 +03:00
Author
Owner

@mum4k commented on GitHub (Feb 18, 2019):

We should however drop events towards the slow subscriber, so that we can't have backlog longer than X.

<!-- gh-comment-id:464865341 --> @mum4k commented on GitHub (Feb 18, 2019): We should however drop events towards the slow subscriber, so that we can't have backlog longer than X.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/termdash#76
No description provided.