Skip to content

Easy API - #19

Closed
dd86k wants to merge 27 commits into
marisafrom
easyapi
Closed

dd86k wants to merge 27 commits into
marisafrom
easyapi

Conversation

@dd86k

@dd86k dd86k commented Dec 20, 2025 •

Copy link
Copy Markdown
Owner

Introduce the Easy API with a partial rewrite.

The Easy API is a new set of modules that features a debug loop using message-based communication underneath. It will be something similar to libcurl's Easy interface, which will help manage remote processes and ease the integration process for Aliceserver in a multithread environment.

Breaking changes include mostly the debugger module, which gets rid of callbacks to state an example. Removing callbacks help with locality (otherwise, it's sync hell across several callbacks). However, callback(s) will be provided with the Easy API, because the event thread will be separated from the debugger thread.

There are other changes coming that removes some older cruft and hacks.

In summary:

  • Introduce the Easy API via the adbg.easy module.
  • Introduce thread, mutex, semaphore wrappers for internal use.
  • Add adbg.util.mailbox for messages-passing for internal use.
  • Redo the terminal library to avoid depending on stderr (a recurring issue regarding linking with older compilers on Windows).
  • Make error module thread-safe(r) (by using TLS).
  • Remove process hacks introduced in adbg.debugger.

It'll be a very messy, but overdue, PR.

@dd86k dd86k self-assigned this Dec 20, 2025
@dd86k dd86k changed the title Easy API rewrite Easy API Dec 20, 2025
@dd86k
dd86k marked this pull request as ready for review February 13, 2026 18:55
dd86k added a commit that referenced this pull request Feb 13, 2026
@dd86k

dd86k commented Feb 13, 2026

Copy link
Copy Markdown
Owner Author

Merged locally.

@dd86k dd86k closed this Feb 13, 2026
@dd86k
dd86k deleted the easyapi branch February 13, 2026 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant