Be Master of your systems
API
Initializing search
Matryoshka-Tk on GitHub
Be Master of your systems
Matryoshka-Tk on GitHub
Home
The laws of documentation
The Manifesto
History
Building Blocks
Building Blocks
Item
Mailbox
Pool
Master
API Reference
API Reference
PolyNode & ItemHandle & Slot
PolyNode & ItemHandle & Slot
Overview
reset / is_linked
Defining user types — manual step by step
stdlib compatibility
PolyHelper
Mailbox
Mailbox
Overview
send / send_oob
receive / try_receive / receive_batch
wakeUpAll / close / destroy / is_it_you
Error sets
Event source helpers
Pool
Pool
Overview
get / get_wait
put / put_all
init / close / destroy / is_it_you
Error sets
Event source helpers
Hook discipline
Starting point
Tag Identity & Slot Programming
Tag Identity & Slot Programming
Overview & Tag identity
Slot-based programming
Cooperative Cleanup
Cooperative Cleanup
Pattern 1: defer-put-early
Pattern 2: defer-destroy-early
Pattern 3: defer for received mailbox item
Pattern 4: transfer clears the slot
Pattern summary
No raw allocator calls
Patterns & Cookbook
Patterns & Cookbook
Slot & PolyNode Idioms
Mailbox & Topology Patterns
Pool Patterns
Futures, Select, Group, Cancellation
Shutdown & Master Patterns
Examples Catalog
Examples Catalog
Overview
Items, Hooks & Helpers
Items, Hooks & Helpers
Items
Item: Event
Item: Sensor
Item: ShutdownCommand
Item: Timer
Hook: AlwaysCreateHooks
Hook: CappedPoolHooks
Helpers
How to... PolyNode
How to... PolyNode
Overview
Define a PolyNode type
Ownership transfer via Slot
Tag-dispatch consume loop
Builder pattern
Produce-consume with defer cleanup
How to... Mailbox
How to... Mailbox
Overview
Simple send-receive
Worker loop pattern
OOB via send_oob
Pipeline
Request-response
Fan-in
Shutdown with remaining item cleanup
Batch processing
Fan-out
Shutdown via ShutdownCommand
Wake blocked receiver without a message
Timer via mailbox
OOB via send_oob (Master)
Multiple event sources, one mailbox
Timeout on mailbox
How to... Pool
How to... Pool
Overview
Basic recycler
Backpressure pool
Pool seeding
Pool teardown
Pool fan-in: many workers return
Pool fan-out: many workers acquire
Producer → consumer with recycling
Job pool circular flow
Worker finish signal via mailbox return
Pool holds pools at teardown
How to... Io (Select, Group, Future)
How to... Io (Select, Group, Future)
Overview
Two mailboxes + timer in Select
Timer cancel → close → walk remaining
Cancel reports, Master decides
Multiple event source types in one Select
Cancel → Master close → pool.put_all
Graceful shutdown with in-flight items
Mailbox receive as Select event source
Select direct queue push
Select mailbox close propagation
Select cancel propagation
Pool get_wait as Select event source
Job pool pattern
Mixed mailbox + pool event sources in Select
receive_future awaited directly
get_wait_future awaited directly
receive_future with timeout
ConcurrencyUnavailable on single-threaded
Pool + Future: simple worker
Pool + Select: job scheduler
Pool + Group: worker pool
Pool + Select + Network
When to add Mailbox
Flow — Master compositions
Flow — Master compositions
Overview
Minimal Master
Master with Pool
Multi-worker Master
Pipeline of Masters
Request-response between Masters
Pool → Mailbox → Pool roundtrip
Mixed types through shared mailbox
Batch receive + pool return
Pool hooks + mailbox flow
Close ordering: pool then mailbox
Close ordering: mailbox then pool
Pool + Mailbox flow
Master shutdown: close → stdlib walk → free
Master batch collect: receive_batch → put_all
Master pre-shutdown collect
Addendums
Addendums
Why Boring
Io 101
Slot vs Ref-Counting
Tag vs Tagged Union
Mailbox vs TypeErasedQueue
Notation
Installation
API
API
Open API Documentation
Back to top