sketch out new async path for ctrl memory streaming

This commit is contained in:
Ryan Fleury
2025-09-23 10:58:17 -07:00
parent 2ce581fa19
commit 9787c698e6
12 changed files with 263 additions and 56 deletions
+28
View File
@@ -828,6 +828,22 @@ typedef CTRL_WAKEUP_FUNCTION_DEF(CTRL_WakeupFunctionType);
////////////////////////////////
//~ rjf: Main State Types
typedef struct CTRL_MemRequest CTRL_MemRequest;
struct CTRL_MemRequest
{
C_Key key;
CTRL_Handle process;
Rng1U64 vaddr_range;
B32 zero_terminated;
};
typedef struct CTRL_MemRequestNode CTRL_MemRequestNode;
struct CTRL_MemRequestNode
{
CTRL_MemRequestNode *next;
CTRL_MemRequest v;
};
typedef struct CTRL_State CTRL_State;
struct CTRL_State
{
@@ -891,6 +907,13 @@ struct CTRL_State
String8List msg_user_bp_touched_files;
String8List msg_user_bp_touched_symbols;
// rjf: memory requests
Mutex mem_req_mutex;
Arena *mem_req_arena;
CTRL_MemRequestNode *first_mem_req;
CTRL_MemRequestNode *last_mem_req;
U64 mem_req_count;
// rjf: user -> memstream ring buffer
U64 u2ms_ring_size;
U8 *u2ms_ring_base;
@@ -1227,4 +1250,9 @@ ASYNC_WORK_DEF(ctrl_call_stack_build_work);
ASYNC_WORK_DEF(ctrl_call_stack_tree_build_work);
////////////////////////////////
//~ rjf: Asynchronous Tick
internal void ctrl_async_tick(void);
#endif // CTRL_CORE_H