Commit graph

  • d1a2dc2fa6 Use atomics in scheduler state instead of refcell Filip Tibell 2023-08-16 22:04:42 -05:00
  • 4fa76aa27f Implement thread return value broadcasting in scheduler Filip Tibell 2023-08-16 22:00:15 -05:00
  • 6757e1a1a8 Initial barebones scheduler implementation and interface Filip Tibell 2023-08-16 20:38:05 -05:00
  • c80e504283 Clean slate Filip Tibell 2023-08-16 15:30:46 -05:00
  • 32fd04ef85
    Add notes for future scheduler improvements, add wrapper structs for messaging Filip Tibell 2023-08-22 19:41:20 -05:00
  • bf23342d15
    Wait, context already works, what the heck Filip Tibell 2023-08-22 15:59:49 -05:00
  • 9fffce44b6
    Implement context preservation for Lune struct Filip Tibell 2023-08-22 15:51:28 -05:00
  • a05f4d365a
    Update dependencies Filip Tibell 2023-08-22 15:02:02 -05:00
  • 1cbf233f58
    Add new test for require while a background task is running Filip Tibell 2023-08-22 14:59:27 -05:00
  • a53927b66b
    feat: converstion method implementations Compey 2023-08-23 00:20:00 +05:30
  • 5ccab5b15a
    fix: cargo build Compey 2023-08-22 22:12:04 +05:30
  • 5df5f10480
    fix: rename Clock -> DateTime Compey 2023-08-22 22:06:57 +05:30
  • 6d88a7e5c9
    feat: initial concept and 20% of implementation Compey 2023-08-22 21:58:28 +05:30
  • d8640c7ed6
    Use default env filter for tracing Filip Tibell 2023-08-22 10:47:09 -05:00
  • 410df991c3
    Raise tracing max level Filip Tibell 2023-08-22 10:38:08 -05:00
  • 584e5a9a19
    Improvements to scheduler futures resumption Filip Tibell 2023-08-22 10:36:45 -05:00
  • 361a33121a
    Implement tracing for scheduler, set to debug for now Filip Tibell 2023-08-22 09:43:27 -05:00
  • 03eae5f9d8
    Update changelog Filip Tibell 2023-08-21 22:22:08 -05:00
  • f32b136172
    Finish implementation of serve Filip Tibell 2023-08-21 21:41:05 -05:00
  • 2bff3bca5e
    Implement handler calling for serve again, now with extra multithreading Filip Tibell 2023-08-21 20:59:43 -05:00
  • 5ccc4810d5
    Add test for error global Filip Tibell 2023-08-21 19:10:20 -05:00
  • d593b0abd3
    New net.serve implementation Filip Tibell 2023-08-21 12:39:43 -05:00
  • 674acd64db
    Rip out old net.serve implementation Filip Tibell 2023-08-21 11:46:02 -05:00
  • f7bf5507e6
    Get rid of lua lifetime in scheduler, add scheduler documentation Filip Tibell 2023-08-21 10:47:43 -05:00
  • 38239b6a67
    Add descriptive error messages for lua registry and oom Filip Tibell 2023-08-21 10:16:17 -05:00
  • 8402973252
    Clean up interrupt listener Filip Tibell 2023-08-21 09:57:55 -05:00
  • b149a23f1c
    Rename scheduler methods to be consistent with tokio, more obvious Filip Tibell 2023-08-21 09:52:38 -05:00
  • 8d363f1d75
    Make task.wait test a bit more lenient Filip Tibell 2023-08-20 21:54:45 -05:00
  • e490b27379
    Figure out how to solve background tasks in new scheduler Filip Tibell 2023-08-20 21:53:21 -05:00
  • 59ed1bdae0
    Fix typeof function registry key not being unique Filip Tibell 2023-08-20 21:38:36 -05:00
  • 207f80973f
    More accurate task.wait benchmarks in test Filip Tibell 2023-08-20 21:15:50 -05:00
  • 5b73338189
    More robust task.spawn implementation Filip Tibell 2023-08-20 21:15:22 -05:00
  • e780410b7b
    Replace result with expect for process.spawn Filip Tibell 2023-08-20 20:58:28 -05:00
  • 9e23fdca0f
    Remove unnecessary static lifetime from process.spawn Filip Tibell 2023-08-20 20:54:11 -05:00
  • f0ec5eb90b
    Run process.spawn on separate thread, if possible Filip Tibell 2023-08-20 20:51:42 -05:00
  • bfb135db82
    Clean up process spawn options Filip Tibell 2023-08-20 20:45:24 -05:00
  • 23bd0dd0cb
    Fix custom typeof function being recursivve Filip Tibell 2023-08-20 20:05:58 -05:00
  • 54b63c6874
    Add test to ensure warn global exists and is a function Filip Tibell 2023-08-20 20:02:01 -05:00
  • d2ecc534da
    Add back typeof global Filip Tibell 2023-08-20 19:58:00 -05:00
  • 6df6a195ae
    Add back print and warn globals Filip Tibell 2023-08-20 19:54:29 -05:00
  • 42561ea32b
    Store net client in registry instead of app data, remove require context from registry Filip Tibell 2023-08-20 19:34:35 -05:00
  • 2d596c5c2a
    Fix web sockets using old registry values Filip Tibell 2023-08-20 19:26:34 -05:00
  • c90d51ab34
    Remove old lune lib Filip Tibell 2023-08-20 19:18:16 -05:00
  • 5e2f8657da
    Fix net client app data Filip Tibell 2023-08-20 19:13:00 -05:00
  • 6b19ee1656
    Add fixme note to process spawn test Filip Tibell 2023-08-20 18:59:11 -05:00
  • 8b15d8f6d7
    Use app data for net builtin client Filip Tibell 2023-08-20 18:56:28 -05:00
  • b55767a268
    Split scheduler futures into lua & background, improve async tests Filip Tibell 2023-08-20 18:54:34 -05:00
  • 03ae3c616b
    Net serve test improvements, add some impl notes to scheduler Filip Tibell 2023-08-20 16:55:06 -05:00
  • 911ae416f8
    Start work on background tasks Filip Tibell 2023-08-20 16:20:45 -05:00
  • d119b010c6
    Figure out whats causing sigsegv Filip Tibell 2023-08-20 15:29:36 -05:00
  • a636938eea
    Remove usage of unstable mlua feature Filip Tibell 2023-08-20 15:22:16 -05:00
  • 70f5adbb43
    Rename scheduler struct member Filip Tibell 2023-08-20 15:12:29 -05:00
  • a33a4d3d4f
    Fix pcall test, improve scheduler panic message Filip Tibell 2023-08-20 15:07:02 -05:00
  • cb11b3f0e1
    Add back support for init files in require Filip Tibell 2023-08-20 15:01:20 -05:00
  • 77f9ef64bd
    Fix wait_for_thread and remove debugging for it Filip Tibell 2023-08-20 14:56:58 -05:00
  • d4571be44a
    Use real thread ids instead of randomized ones Filip Tibell 2023-08-20 14:22:27 -05:00
  • 7dd1835b15
    Add some different debugging Filip Tibell 2023-08-20 14:11:48 -05:00
  • ccf42115b3
    Remove debugging Filip Tibell 2023-08-20 14:02:48 -05:00
  • 4e9c98035c
    Fix new lua threads not breaking scheduler out of futures resumption Filip Tibell 2023-08-20 14:01:34 -05:00
  • 23f4b755c2
    Add some debugging for require Filip Tibell 2023-08-20 13:44:52 -05:00
  • 6f42e28817
    Support require without extension for path requires Filip Tibell 2023-08-20 12:27:34 -05:00
  • a498bf3502
    Store reference to lua in require context Filip Tibell 2023-08-20 12:01:28 -05:00
  • 3595c5b9d1
    Fix async require cache, unify relative and cwd-relative require functions Filip Tibell 2023-08-20 11:46:38 -05:00
  • 88489ed9b2
    Implement functionality necessary for relative path requires Filip Tibell 2023-08-19 23:00:05 -05:00
  • 04eee28947
    Make it easier to emit formatted lua errors Filip Tibell 2023-08-19 21:59:05 -05:00
  • 4bb36e8b0c
    Add back net builtin Filip Tibell 2023-08-19 20:22:11 -05:00
  • aa810bfc2b
    Add back roblox builtin Filip Tibell 2023-08-19 20:01:55 -05:00
  • 2ed3755762
    Add back process builtin Filip Tibell 2023-08-19 19:43:08 -05:00
  • db12419633
    Add back fs builtin Filip Tibell 2023-08-19 19:26:12 -05:00
  • 9587087bff
    Add back serde builtin Filip Tibell 2023-08-19 19:22:55 -05:00
  • 4dbcbcde94
    Add back luau builtin Filip Tibell 2023-08-19 19:18:36 -05:00
  • 4005245211
    Add back stdio builtin and pretty error formatting Filip Tibell 2023-08-19 19:13:50 -05:00
  • 2bde5e8ae8
    Dont try to resume dead threads in the scheduler Filip Tibell 2023-08-19 18:44:43 -05:00
  • f8e32219fa
    Initial implementation of builtin libraries, task library Filip Tibell 2023-08-19 18:42:28 -05:00
  • 96df171a2b
    Bring back version global Filip Tibell 2023-08-19 17:34:15 -05:00
  • 9786849c27
    Rename version global test Filip Tibell 2023-08-19 17:27:42 -05:00
  • 1e60bead2b
    Add back _G table Filip Tibell 2023-08-19 17:23:40 -05:00
  • 58ddc0e7a8
    Pretty-print lua errors Filip Tibell 2023-08-19 17:15:24 -05:00
  • 17bc0379fd
    Ensure thread safety of scheduler state Filip Tibell 2023-08-19 17:09:13 -05:00
  • 13ea511263
    Add documentation for scheduler state Filip Tibell 2023-08-19 16:45:46 -05:00
  • b8393abdab
    More robust scheduler error resumption mechanism Filip Tibell 2023-08-19 16:38:07 -05:00
  • 72f6e1726b
    Implement basic abs path require, propagate async errors back to lua threads Filip Tibell 2023-08-19 16:06:12 -05:00
  • fea41c3166
    Implement bulk of new require behavior Filip Tibell 2023-08-19 15:31:17 -05:00
  • 764a3c0d50
    Initial scaffolding to get custom globals and require working Filip Tibell 2023-08-18 16:35:33 -05:00
  • 252adb4e5d
    Use static lifetime bound instead of spamming actual static lifetime Filip Tibell 2023-08-18 14:03:06 -05:00
  • fe41fdd047
    Add back lua lifetime to scheduler Filip Tibell 2023-08-18 13:57:31 -05:00
  • 1ddc4fd45b
    Remove mlua macros feature Filip Tibell 2023-08-18 13:55:09 -05:00
  • 15664a91d4
    Add table builder util Filip Tibell 2023-08-18 13:50:04 -05:00
  • 9ceb23d2a5
    Use static lua for now, to make lifetimes work Filip Tibell 2023-08-18 13:43:18 -05:00
  • 9c2ea728f1
    Some lifetime and async arg improvements Filip Tibell 2023-08-18 12:23:26 -05:00
  • 09f0c3c42a
    Relax scheduler method args since lifetimes are now correct Filip Tibell 2023-08-18 09:36:08 -05:00
  • 5e076f0052
    Scheduler now manages entire Lua struct, elide lifetimes where possible Filip Tibell 2023-08-18 09:20:35 -05:00
  • 0255355553
    Methods take owned threads Filip Tibell 2023-08-17 21:37:09 -05:00
  • 4c7826c40b
    Add lifetimes because they are fun Filip Tibell 2023-08-17 21:24:20 -05:00
  • ffa547a327
    More work on scheduler async stuff Filip Tibell 2023-08-17 20:00:01 -05:00
  • c6e1f22c6d
    Update mlua version Filip Tibell 2023-08-17 18:54:05 -05:00
  • 996c7dd623
    Some work on async functions for new scheduler Filip Tibell 2023-08-17 00:23:20 -05:00
  • c1ec6f6181
    Add api for scheduling plain futures in scheduler Filip Tibell 2023-08-16 22:51:40 -05:00
  • 26a8a965d7
    Implement futures resumption Filip Tibell 2023-08-16 22:40:59 -05:00
  • 4a63b5c9e3
    Use atomics in scheduler state instead of refcell Filip Tibell 2023-08-16 22:04:42 -05:00