22 lines
812 B
Plaintext
22 lines
812 B
Plaintext
@startuml
|
|
scale max 900*520
|
|
skinparam backgroundColor transparent
|
|
skinparam shadowing false
|
|
skinparam defaultFontName "DejaVu Sans Mono"
|
|
skinparam defaultFontSize 13
|
|
skinparam rectangleBorderColor #2b6f8e
|
|
skinparam rectangleBackgroundColor #edf6fa
|
|
skinparam ArrowColor #8295a0
|
|
top to bottom direction
|
|
title A8 PATTERNS — choose queue payload ownership explicitly
|
|
|
|
rectangle "01 VALUE MESSAGE\nQueueMessage bytes copied\nproducer may reuse source" as Value
|
|
rectangle "02 POINTER MESSAGE\naddress copied only\nlifetime remains external" as Pointer
|
|
rectangle "03 OWNERSHIP CONTRACT\nwho allocates? who frees?\ncan producer mutate?" as Contract
|
|
rectangle "04 FC05 DECISION\nsmall trivially copied value\nchecksum proves integrity" as Decision
|
|
|
|
Value --> Contract
|
|
Pointer --> Contract
|
|
Contract --> Decision
|
|
@enduml
|