Skip to content

Commit 7fdf75e

Browse files
committed
docs(likec4): consolidate model-server.c4 into model-pipeline.c4
1 parent 8a5de63 commit 7fdf75e

3 files changed

Lines changed: 40 additions & 51 deletions

File tree

docs/likec4/model-pipeline.c4

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// TurboHTTP — Pipeline Flow Relationships
1+
// TurboHTTP — Pipeline Flow Relationships (Client & Server)
22
// Extends model.c4 with ordered flow and feedback relationships
3-
// that represent BuildExtendedPipeline's data paths and control loops.
3+
// for both client and server request processing pipelines.
44
//
55
// PIPELINE STACKING (outermost -> innermost):
66
// Handler -> Tracing -> Redirect -> Cookie -> Retry -> Expect100 -> Cache -> ContentEncoding -> AltSvc -> Engine
@@ -90,4 +90,40 @@ model {
9090

9191
// Feedback: retry re-enters at ExpectContinue (same URL, cookies already set)
9292
turbohttp.streams.RetryBidiStage -[feedback]-> turbohttp.streams.ExpectContinueBidiStage 'retry (re-enters below cookies)'
93+
94+
// ─── Server: Inbound — Network → ConnectionStage (wire decode) ────
95+
96+
network -[flows]-> turbohttp.serverStages.ServerHttp10ConnectionStage 'inbound bytes'
97+
network -[flows]-> turbohttp.serverStages.ServerHttp11ConnectionStage 'inbound bytes'
98+
network -[flows]-> turbohttp.serverStages.ServerHttp20ConnectionStage 'inbound bytes'
99+
network -[flows]-> turbohttp.serverStages.ServerHttp30ConnectionStage 'inbound bytes'
100+
101+
// ─── Server: ConnectionStage → HttpContextBidiStage (decoded request)
102+
103+
turbohttp.serverStages.ServerHttp10ConnectionStage -[flows]-> turbohttp.serverStages.HttpContextBidiStage 'decoded request'
104+
turbohttp.serverStages.ServerHttp11ConnectionStage -[flows]-> turbohttp.serverStages.HttpContextBidiStage 'decoded request'
105+
turbohttp.serverStages.ServerHttp20ConnectionStage -[flows]-> turbohttp.serverStages.HttpContextBidiStage 'decoded request'
106+
turbohttp.serverStages.ServerHttp30ConnectionStage -[flows]-> turbohttp.serverStages.HttpContextBidiStage 'decoded request'
107+
108+
// ─── Server: Request chain — HttpContext → Middleware → Routing ────
109+
110+
turbohttp.serverStages.HttpContextBidiStage -[flows]-> turbohttp.serverStages.MiddlewarePipelineStage 'TurboHttpContext'
111+
turbohttp.serverStages.MiddlewarePipelineStage -[flows]-> turbohttp.serverStages.RoutingStage 'request (middleware applied)'
112+
113+
// ─── Server: Response chain — Routing → Middleware → HttpContext → ConnectionStage
114+
115+
turbohttp.serverStages.RoutingStage -[flows]-> turbohttp.serverStages.MiddlewarePipelineStage 'response'
116+
turbohttp.serverStages.MiddlewarePipelineStage -[flows]-> turbohttp.serverStages.HttpContextBidiStage 'response (after middleware)'
117+
118+
turbohttp.serverStages.HttpContextBidiStage -[flows]-> turbohttp.serverStages.ServerHttp10ConnectionStage 'response'
119+
turbohttp.serverStages.HttpContextBidiStage -[flows]-> turbohttp.serverStages.ServerHttp11ConnectionStage 'response'
120+
turbohttp.serverStages.HttpContextBidiStage -[flows]-> turbohttp.serverStages.ServerHttp20ConnectionStage 'response'
121+
turbohttp.serverStages.HttpContextBidiStage -[flows]-> turbohttp.serverStages.ServerHttp30ConnectionStage 'response'
122+
123+
// ─── Server: Outbound — ConnectionStage → Network (wire encode) ───
124+
125+
turbohttp.serverStages.ServerHttp10ConnectionStage -[flows]-> network 'outbound bytes'
126+
turbohttp.serverStages.ServerHttp11ConnectionStage -[flows]-> network 'outbound bytes'
127+
turbohttp.serverStages.ServerHttp20ConnectionStage -[flows]-> network 'outbound bytes'
128+
turbohttp.serverStages.ServerHttp30ConnectionStage -[flows]-> network 'outbound bytes'
93129
}

docs/likec4/model-server.c4

Lines changed: 0 additions & 47 deletions
This file was deleted.

docs/likec4/model.c4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// TurboHTTP — Model
22
// All elements (person, system, containers, components, actors) and their
3-
// structural relationships. Pipeline-specific flow/feedback/delegates
4-
// relationships live in model-pipeline.c4 (client) and model-server.c4 (server).
3+
// structural relationships. Pipeline-specific flow/feedback relationships
4+
// for both client and server live in model-pipeline.c4.
55

66
model {
77
app = person 'Application' {

0 commit comments

Comments
 (0)