feat: Add core module #290
Open
icex2 wants to merge 7 commits from
pr290 into master
pull from: pr290
merge into: :master
:master
:example_libaio_io
:sapling-pr-archive-icex2
:pr322
:pr320
:pr316
:frame-pacing-wip
:bemanitools-6-alpha
:wip-new-btapi
:pr290
:pr291
:pr292
:pr293
:pr294
:pr295
:pr296
:pr297
:pr298
:pr288
:pr287
:pr286
:pr285
:development
:core-feat
:ci-github
No Reviewers
Labels
Clear labels
acio
bio2
bst
bug
ddr
documentation
duplicate
enhancement
ezusb
feature
gitlab merge request
good first issue
has attachment
help wanted
high priority
iidx
invalid
jb
low priority
museca
popn
question
sdvx
tech debt
wontfix
Something isn't working
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Good for newcomers
Extra attention is needed
This doesn't seem right
Further information is requested
This will not be worked on
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Max/djhackersdev_bemanitools#290
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
feat: Add core module
This module contains the "core" (API) of
bemanitools which includes an abstraction
layer for threads and logging at this time.
The threads API is very close to what
util/thread already was with some structural
enhancements which make it easier to understand
and work with the API, I hope. Some additional
helpers (*-ext module) support in doing common
tasks, e.g. setting up the thread API with other
modules.
The log(ging) part receives a major overhaul to
address known limitations and issues with the
util/log module:
with AVS logging API
Additional "extensions" (*-ext modules) add
various helper functions for common tasks like
setting up the logging engine with a file and stdout
sink.
The sinks also improved significantly with the file
sink now supporting proper appending and log rotation.
Logging to stdout/stderr supports coloring of log
messages which works across logging engines.
Overall, this refactored foundation is expected to
support future developments and removes known
limitations at the current scale of bemanitools such as:
for addressing currently missing interop, e.g. for
dealing with property structures without AVS)
due to incorrect interop with AVS
Stack created with Sapling. Best reviewed with ReviewStack.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.