Commit Graph

8 Commits

Author SHA1 Message Date
52e14f31fe chore: add .gitignore entries for wren binary and merged source file, update Makefile with GTK3 dependencies and commented build targets, and include README with project overview and extension documentation 2025-08-20 20:17:34 +00:00
99972eb8cc feat: replace socket backend with sqlite3 and refactor socket API to static methods
Replace the socket-based communication backend with an sqlite3 database backend, removing all socket-specific platform includes and data structures. Refactor the Socket class API from instance methods to static foreign methods, introducing SocketInstance wrapper class for fiber-based async operations. Update example files to use new API and increase sqlite performance test insert count from 1000 to 100000.
2025-07-30 04:56:55 +00:00
7dda554d0a feat: add sqlite3 and io foreign modules with async callbacks and integrate into build 2025-07-30 03:11:49 +00:00
46abad3a3a feat: implement string backend with endsWith, startsWith, and replace methods for Wren VM 2025-07-29 13:15:00 +00:00
e8a993062c feat: implement web crawler with url queue and html parsing engine
Add a new Crawler class in crawler.wren that manages a URL queue, tracks visited pages, throttles concurrent requests to a maximum of 10 in-flight connections, and processes responses with error handling and status code validation. The crawler uses a fiber-based event loop that yields to the C host until all crawling is complete, then signals completion with duration and page count statistics.
2025-07-29 13:14:51 +00:00
d8b1443bef feat: integrate string backend and add socket accept operation to async manager 2025-07-29 13:14:47 +00:00
fad9909371 chore: remove entire httplib.h, socket_backend.cpp, and socket_backend_20250729_141833.c files while adding response body print to requests_example.wren 2025-07-29 12:38:46 +00:00
0461db7049 feat: add async HTTP request handling with Wren callback integration and thread pool
Implement asynchronous HTTP request infrastructure for the Wren scripting language, including a thread pool with 4 worker threads, request/response queue management, and foreign function bindings for Wren callbacks. Add Response class with foreign methods for error status, status code, body, and JSON access. Include Requests class with static get/post methods that validate callback arity and delegate to foreign implementations. Integrate libcurl-based backend with thread-safe queue operations and platform-specific threading primitives (pthreads on Unix, Windows threads on Win32). Add Makefile targets for building the wren executable with libcurl, pthread, and math library dependencies.
2025-07-29 12:35:38 +00:00