Here is a list of all files with brief descriptions:
[detail level 12345]
| examples | |
| fibers | |
| 01_hello.c | |
| 02_yield.c | |
| 03_wait_for.c | |
| 04_suspend_resume.c | |
| 05_parallel.c | |
| 06_request_term.c | |
| 07_sleep.c | |
| 08_pipe.c | |
| 09_tcp_echo.c | |
| 10_drain.c | |
| 11_tcp_ping_pong.c | |
| 12_http_server.c | |
| usage | |
| cmake | |
| hello.c | |
| make | |
| hello.c | |
| meson | |
| hello.c | |
| jit | |
| jit.c | |
| rt | |
| fiber | |
| arch | |
| ctx_x86_64.c | X86-64 fabrication of a fresh fiber's saved context |
| switch_x86_64.S | |
| platform | |
| stack_posix.c | |
| thread_posix.c | POSIX implementation of the thread-level operations in serene/rt/fiber/thread.h, realised with pthreads |
| fiber.c | |
| io.c | The fiber side of the reactor: the only layer that knows both fibers and the reactor |
| scheduler.c | |
| impl | |
| hashmap.c | Notes: |
| pqmh.c | |
| seq.c | |
| spsc_ring.c | |
| mm | |
| default.c | |
| reactor | |
| backend | |
| epoll.c | |
| backend.h | Internal reactor backend interface |
| internal.h | |
| reactor.c | |
| abi.c | |
| configuration.c | |
| context.c | |
| core.c | |
| engine.c | |
| errors.c | |
| keywords.c | |
| lists.c | |
| maps.c | |
| namespaces.c | |
| print.c | |
| protocols.c | |
| seqs.c | |
| strings.c | |
| symbols.c | |
| serene | |
| jit | |
| jit.h | |
| rt | |
| core | |
| numbers.h | |
| fiber | |
| arch | |
| stack_x86_64.h | |
| io.h | The fiber facing IO API: blocking looking calls a fiber uses to do IO |
| thread.h | srn_thread_t, srn_mutex_t, and srn_cond_t model the thread-level operations the runtime needs, with semantics defined here rather than borrowed from one OS API |
| impl | |
| alist.h | |
| hashmap.h | This is an implementation of Compressed Hash-Array Mapped Prefix-tree, which is a bit-partitioned, persistent, immutable Hashed array mapped trie |
| pqmh.h | A generic priority queue backed by a binary min-heap |
| seq.h | This is an implementation of bit - partitioned, persistent, immutable sequence For more information, have a look at Ideal hash trees paper |
| spsc_ring.h | A mutable single producer, single consumer ring of fixed size elements |
| mm | |
| interface.h | Notes: |
| abi.h | |
| closures.h | |
| configuration.h | The single place that holds every runtime knob |
| context.h | |
| core.h | |
| engine.h | |
| environments.h | |
| errors.h | Error handling for the runtime |
| fiber.h | AI Generated (🤦) Fiber subsystem overview |
| keywords.h | |
| lists.h | |
| maps.h | |
| namespaces.h | |
| print.h | |
| protocols.h | |
| reactor.h | Reactor overview |
| seqs.h | |
| strings.h | |
| symbols.h | |
| runtime.h | |
| utils.h | |
| tests | |
| include | |
| acutest.h | |
| runtime | |
| base.h | |
| context_tests.h | |
| engine_tests.h | |
| fiber_tests.h | |
| gc_tests.h | |
| hashmap_tests.h | |
| main.c | |
| mm_tests.h | |
| ns_tests.h | |
| pqmh_tests.h | |
| reactor_io_tests.h | |
| reactor_tests.h | |
| seq_tests.h | |
| spsc_ring_tests.h | |
| symbol_tests.h | |
| value_tests.h | |
| utf8.h | |
| utils.c | |