Commit graph

210 commits

Author SHA1 Message Date
Filip Tibell
58ce046394
Implement proper async require & error handling 2023-02-17 15:03:13 +01:00
Filip Tibell
7f17ab0063
Only use threads and nothing else to simplify task scheduler 2023-02-17 00:08:24 +01:00
Filip Tibell
546ebbd349
Improve handling of async lua function creation 2023-02-16 23:23:52 +01:00
Filip Tibell
4ccaa52b87
Perform GC and cleanup in scheduler if there are only background tasks left 2023-02-16 21:45:18 +01:00
Filip Tibell
89387c51da
Use unwrap or default where possible 2023-02-16 18:17:56 +01:00
Filip Tibell
04a47babdd
Implement traceback helper to use in scheduler 2023-02-16 16:19:58 +01:00
Filip Tibell
02e4f87a5a
Remove tool used for testing 2023-02-16 12:50:56 +01:00
Filip Tibell
b080d78253
Prepare for autogeneration of selene type definitions 2023-02-16 12:28:17 +01:00
Filip Tibell
a1f48fae47
Organize docs gen 2023-02-16 12:13:42 +01:00
Filip Tibell
b6f0f90ac5
Fix docs gen test 2023-02-16 12:09:06 +01:00
Filip Tibell
1bee0986c7
Preserve order for json ser/de 2023-02-16 12:05:54 +01:00
Filip Tibell
2716e4f72a
Generate basic API reference markdown pages for wiki 2023-02-16 11:52:23 +01:00
Filip Tibell
6a8e70657b
Update configuration instructions in README 2023-02-15 23:28:08 +01:00
Filip Tibell
86a0059af5
Fix workflow 2023-02-15 23:03:43 +01:00
Filip Tibell
9a1cc94f99
Generate type defs & docs in release workflow 2023-02-15 23:03:31 +01:00
Filip Tibell
9c4806a840
Add mustuse and access control tags in typedefs file 2023-02-15 22:51:01 +01:00
Filip Tibell
79f6d6df8a
Bundle type definition files in executable 2023-02-15 22:36:26 +01:00
Filip Tibell
b1e08bf813
Move scheduler fns into traits, improve error handling for scheduler not existing 2023-02-15 13:22:13 +01:00
Filip Tibell
fa14e4a02b
Refactor new task scheduler
* Use cell & refcell, we don't need mutexes

* Split out into several modules
2023-02-15 12:18:25 +01:00
Filip Tibell
8d44e1e827
Support built-in coroutine global in new task scheduler 2023-02-14 23:17:03 +01:00
Filip Tibell
3990b8e064
Properly handle blocking tasks spawned during async tasks in new scheduler 2023-02-14 21:36:04 +01:00
Filip Tibell
6f1ae83fbe
Make stdio.prompt async to let background tasks run 2023-02-14 21:14:50 +01:00
Filip Tibell
d078968d08
Clean up net global implementation 2023-02-14 19:39:28 +01:00
Filip Tibell
f98400f753
Improve error for net serve failing to bind 2023-02-14 19:05:35 +01:00
Filip Tibell
a9261f889f
Do some debugging, fix scheduler not always exiting with the correct code/error 2023-02-14 16:39:15 +01:00
Filip Tibell
b5f6e6da98
Implement async background tasks for scheduler 2023-02-14 15:27:10 +01:00
Filip Tibell
d2ff0783a5
Implement bulk of async APIs 2023-02-14 13:17:07 +01:00
Filip Tibell
b1b69c7d94
Properly handle tasks that switch context in new scheduler 2023-02-13 23:36:30 +01:00
Filip Tibell
879d6723a3
Document some more scheduler stuff 2023-02-13 21:47:18 +01:00
Filip Tibell
e3e56301ce
Elide lifetimes where possible 2023-02-13 21:31:19 +01:00
Filip Tibell
805b9d89ad
Fully implement and document the task scheduler 2023-02-13 21:29:05 +01:00
Filip Tibell
fc5de3c8d5
Initial implementation of proper task scheduler, no async yet 2023-02-13 15:28:18 +01:00
Filip Tibell
bb182033b9
Fix task.delay keeping Lune alive even if cancelled 2023-02-12 19:07:15 +01:00
Filip Tibell
5157e60379
Improve websocket examples 2023-02-12 18:24:55 +01:00
Filip Tibell
620361348f
Improve example comment 2023-02-12 17:30:15 +01:00
Filip Tibell
b302543502
Add examples for web socket servers & clients 2023-02-12 15:25:17 +01:00
Filip Tibell
d50df04d09
Fix typo in changelog 2023-02-12 00:10:23 +01:00
Filip Tibell
0149093e11
Update lockfile 2023-02-11 23:43:06 +01:00
Filip Tibell
4b6a934637
Version 0.4.0 2023-02-11 23:39:59 +01:00
Filip Tibell
1e7cbc4062
Clean up typedefs file 2023-02-11 23:38:47 +01:00
Filip Tibell
adc503d6ae
Fix docs file not parsing because of declare class syntax 2023-02-11 23:37:23 +01:00
Filip Tibell
091dc17337
Implement web socket client 2023-02-11 23:29:17 +01:00
Filip Tibell
6c97003571
Implement web sockets for net serve 2023-02-11 22:40:14 +01:00
Filip Tibell
962d89fd40
Accept & upgrade websocket connections 2023-02-11 15:09:06 +01:00
Filip Tibell
41212f4b4c
Net serve now returns a handle to stop serving requests safely 2023-02-11 14:25:53 +01:00
Filip Tibell
6c49ef7e4a
Use static lua lifetime 2023-02-11 12:39:39 +01:00
Filip Tibell
709a69aa82
Refactor and document lune lib public members 2023-02-10 12:14:28 +01:00
Filip Tibell
3073fb8fec
Move internal message struct out from lib file 2023-02-09 23:28:12 +01:00
Filip Tibell
f3cb4f2ce0
Make process.spawn result a global type 2023-02-09 23:23:16 +01:00
Filip Tibell
be39ecc00a
Reuse http client for net.request 2023-02-09 23:21:26 +01:00