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

Re-implement scheduler's related code #304

Closed
1 of 3 tasks
victimsnino opened this issue Dec 6, 2022 · 0 comments
Closed
1 of 3 tasks

Re-implement scheduler's related code #304

victimsnino opened this issue Dec 6, 2022 · 0 comments
Labels
bug Something isn't working enhancement New feature or request

Comments

@victimsnino
Copy link
Owner

victimsnino commented Dec 6, 2022

  • (???) Split TrampolineScheduler into two:
    1. TrampolineScheduler which JUST TRAMPOLINE with LOCAL queue to just schedule "schedulable after current schedulable completed"
    2. CurrentThreadScheduler = TrampolineScheduler with thread_local queues
  • Re-implement scheduler's based operators in the following way:
    1. Instead of "just scheduling" each emission to scheduler it needs to have local queue
    2. On new emission push emission to queue
    3. If queue is empty, then schedule draining of queue to scheduler
    4. If queue is not empty, then just do nothing due to "someone else" just scheduled draining
    5. Recursively re-schedule same schedulable to drain queue while queue is not empty.
  • (????) NewThread/RunLoop and etc should store their queues as "CurrentThread" or not?

New issue like replacement for #277

@victimsnino victimsnino added bug Something isn't working enhancement New feature or request labels Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant