8000 Timer support, Documentation improvements by lcsmuller · Pull Request #59 · Cogmasters/concord · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Timer support, Documentation improvements #59

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

Merged
merged 82 commits into from
Apr 18, 2022
Merged

Timer support, Documentation improvements #59

merged 82 commits into from
Apr 18, 2022

Conversation

lcsmuller
Copy link
Collaborator

What?

  1. Added timer support (Add Timer Support #51 and Timer Wrapper Functions, and Refactoring #58)
  2. Documentation Improvements
    2.1. Document systems supported by Concord (4b96f66)
    2.2. Document special compilation flags that override the default behavior (e76d44d)
    2.3. (WIP) Manual pages (9d006ff)

Why?

Concord employs a mono-thread and asynchronous event-loop. As such using sleep() for performing timed operations would lead to the blocking of the event-loop, resulting in an unresponsive bot. The Timer API designed by @Anotra offers a simple solution for performing timed operations without blocking the loop.

How?

By storing the future timestamps matched to their execution context in a min-heap. On each event-loop iteration the head timestamp is checked against the current timestamp, and then its matched context is performed if the total wait time has been met.

Testing?

See timeout.c and timers.c.

Anything Else? (optional)

In the future we want to rewrite our ratelimiting handling with the Timer API introduced by this PR.

Anotra and others added 30 commits March 24, 2022 13:25
Co-authored-by: Lucas Müller <muller.lucas@hotmail.com>
Co-authored-by: Lucas Müller <muller.lucas@hotmail.com>
Co-authored-by: Lucas Müller <muller.lucas@hotmail.com>
Co-authored-by: Lucas Müller <muller.lucas@hotmail.com>
Anotra and others added 27 commits April 13, 2022 11:10
@lcsmuller lcsmuller added documentation Improvements or additions to documentation enhancement New feature or request labels Apr 17, 2022
@lcsmuller lcsmuller merged commit 071dbb4 into master Apr 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants
0