REFERENCE
模块参考
章节负责带你完成改动;这里负责把边界说完整。遇到悬空引用、取消传播、跨线程或关闭顺序问题时,从对应模块开始查。
CORERuntime 与 cppgc
初始化、线程归属、wrapper 和关闭顺序。
HTTP请求生命周期fetch Promise、timer、waitUntil 与取消。
REALTIMEWebSocketupgrade、session、背压和 SPA 分流。
DATARocksDB KV线程边界、key schema、写入与恢复。
OBSERVETracespan、传播、采样和有界 writer。
总体所有权
Process
├── KJ AsyncIoContext
├── Runtime
│ ├── V8 Platform / Isolate / Context
│ ├── CppHeap
│ ├── TimerQueue
│ └── request/background TaskSet
├── HttpServer → RouterService
├── ChatHub → WebSocketSession...
├── StorageExecutor → RocksDB
└── TraceWriter
最重要的不变量:只有 Runtime 所在线程可以进入 V8;KJ continuation 可以携带任务状态,不能携带失效的
v8::Local;后台线程只处理拥有所有权的普通 C++ 数据。