Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: channels with priorities #68

Open
nopeslide opened this issue Apr 16, 2020 · 0 comments
Open

feature: channels with priorities #68

nopeslide opened this issue Apr 16, 2020 · 0 comments
Assignees
Labels
enhancement New feature or request RTOS FreeRTOS related issue

Comments

@nopeslide
Copy link
Contributor

nopeslide commented Apr 16, 2020

Related Issues & PRs

Description

  • Broadcasting does not differentiate between consumers with different priorities.
  • This could lead to uncritical consumers blocking critical consumers.
  • Broadcast timeout returns no metric if timeout is acceptable

Solution

  • introduce priority for each channel
    • define priorities groups
      • i.e. 0000 - 1000 is uncritical debug output
      • i.e. 1000 - 2000 is kind of critical user interface output
      • i.e. 2000 - 9999 is critical data flow
  • channel insertion sorts channels in same list by priorities
    • no overhead while broadcasting
  • broadcast runs from highest to lowest priority
  • broadcast updates its handle with last served priority
    • enables check if all system critical consumers were called by comparing the last priority to the priority groups

Alternative solutions

  • none

Context

none

@nopeslide nopeslide added the enhancement New feature or request label Apr 16, 2020
@nopeslide nopeslide added the RTOS FreeRTOS related issue label Apr 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request RTOS FreeRTOS related issue
Projects
None yet
Development

No branches or pull requests

2 participants