Commit graph

159 commits

Author SHA1 Message Date
Filip Tibell
8fd39fcf9d
Improve error handling when net.serve callback errors 2023-02-21 11:32:47 +01:00
Filip Tibell
a7fab69838
More websocket generics 2023-02-21 00:06:56 +01:00
Filip Tibell
cdf7db51f6
Fix scheduler not always waking up 2023-02-20 17:27:33 +01:00
Filip Tibell
5f3169c1bb
Make websocket object generic over streams 2023-02-20 16:08:45 +01:00
Filip Tibell
c57677bdd3
Make websockets work again 2023-02-20 14:43:14 +01:00
Filip Tibell
801da61c0f
Clean up error handling & chunk loading 2023-02-20 13:02:22 +01:00
Filip Tibell
4cc983dbe6
Add coroutine test suite, implement status 2023-02-17 21:06:33 +01:00
Filip Tibell
dbe6c18d3a
Fix task.wait breaking after coroutine.resume 2023-02-17 19:47:10 +01:00
Filip Tibell
c45c78bdc2
More work on task scheduler 2023-02-17 19:20:17 +01:00
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
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
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
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
be39ecc00a
Reuse http client for net.request 2023-02-09 23:21:26 +01:00
Filip Tibell
eebe009873
Use console crate for ansi colors in list command 2023-02-09 23:07:30 +01:00
Filip Tibell
f18fe48008
Add support for tilde home dir substitution in process.spawn 2023-02-09 22:59:17 +01:00
Filip Tibell
7699d06647
Proper implementation of async process spawn 2023-02-09 22:23:22 +01:00
Filip Tibell
72f6b356c4
Initial work on async impl of process spawn 2023-02-09 17:23:06 +01:00
Filip Tibell
7aa8896997
Query parameters for net serve is now a table instead of a string 2023-02-07 21:54:52 -05:00
Filip Tibell
ee64d2ef9c
Implement stdio prompt function 2023-02-06 12:59:48 -05:00
Filip Tibell
bbf1c9f4f7
Migrate console global to stdio 2023-02-06 00:13:12 -05:00
Filip Tibell
420a861061
Don't export everything in the lune lib 2023-02-05 22:32:10 -05:00
Filip Tibell
2e3f95ebd6
Migrate console lib printing functions to regular globals 2023-02-05 22:25:36 -05:00
Filip Tibell
f5d9aab2e5
Fix publishing to crates.io 2023-02-05 19:41:38 -05:00
Filip Tibell
aec7f820ca
Migrate to using cargo workspaces 2023-02-05 19:13:58 -05:00