summaryrefslogtreecommitdiff
path: root/docs/application
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-07-07 15:33:52 -0400
committernodist <kevin.comas.git@gmail.com>2026-07-07 15:33:52 -0400
commit51c371db6ced53b8f9198890672961ef912a9aad (patch)
tree23343a3d1779e9145ae72f9b12570d81b1ee8759 /docs/application
parent7add85856a927766f218789aa946641228650c02 (diff)
define interfaces
Diffstat (limited to 'docs/application')
-rw-r--r--docs/application/index.md3
-rw-r--r--docs/application/interface.md14
-rw-r--r--docs/application/io.md38
-rw-r--r--docs/application/thread.md8
4 files changed, 51 insertions, 12 deletions
diff --git a/docs/application/index.md b/docs/application/index.md
index 01287b1..8ead3a8 100644
--- a/docs/application/index.md
+++ b/docs/application/index.md
@@ -33,8 +33,11 @@
## Startup
1. Configuration
+ * `thread_count` - defaults to number of available processors
2. Initialize tasks
+ * Built In Alias
2. Initialize allocators
+ * Slab sizes
4. Initialize types
5. Initialize IO
diff --git a/docs/application/interface.md b/docs/application/interface.md
index 831090b..9a7fa22 100644
--- a/docs/application/interface.md
+++ b/docs/application/interface.md
@@ -22,15 +22,7 @@ typedef union {
void *ptr;
} kpl_any;
-typedef size_t kpl_any_hash_fn(const kpl_any a);
-
-typedef ssize_t kpl_any_cmp_fn(const kpl_any a, const kpl_any b);
-
-typedef int32_t kpl_write(const kpl_ant a, FILE *file, int32_t idnt, uint32_t opts);
-
-// TODO GC FUNCTION
-
-typedef void kpl_any_free_fn(kpl_any a);
+typedef void kpl_interface_free(kpl_any a);
typedef struct {
// TODO
@@ -38,7 +30,7 @@ typedef struct {
typedef struct {
kpl_any *any;
- kpl_interface *interflace;
+ kpl_interface *interface;
} kpl_class;
typedef enum : uint8_t {
@@ -66,3 +58,5 @@ typdef struct {
```
## `kpl_interface`
+
+See [Operators](../language/operators.md)
diff --git a/docs/application/io.md b/docs/application/io.md
index 9ab786c..a292718 100644
--- a/docs/application/io.md
+++ b/docs/application/io.md
@@ -1,5 +1,39 @@
-# Io
+# Io (io_uring)
---
-All Io is done through linux io uring
+# Design
+
+## Io Ring
+
+## Fixed Buffers
+
+## Fixed Files
+
+## Buffer Rings
+
+# Io Tasks
+
+Tasks for each IO operation are stored in the `user_data` field
+
+## Ring Submission `struct io_uring_sqe`
+
+## Ring Completion `struct io_uring_cqe`
+
+# Usage
+
+## File
+
+### Open
+
+### Statx
+
+### Read
+
+### Write
+
+## Directory
+
+## Timers
+
+## Network
diff --git a/docs/application/thread.md b/docs/application/thread.md
index 770358f..f871db7 100644
--- a/docs/application/thread.md
+++ b/docs/application/thread.md
@@ -75,12 +75,20 @@ regex : captures, function state, regex function
## Sync
+Queue task on selected thread
+
## Async
+Queue task on thread with lowest `priority`
+
# Running
## Joining
+# Thread Pool Management
+
+Run task to check thread pool sizes and create tasks to spread out a large pool across other threads
+
# Example
```c