package matryoshka:examples/block2

⌘K
Ctrl+K
or
/

    Types

    Builder ¶

    Builder :: examples_block1.Builder

    Event ¶

    Event :: examples_block1.Event
     

    Aliases for Layer 1 items, builder, and tags.

    Mailbox ¶

    Mailbox :: ^matryoshka.PolyNode

    Master ¶

    Master :: struct {
    	builder: examples_block1.Builder,
    	inbox:   ^matryoshka.PolyNode,
    	alloc:   runtime.Allocator,
    }
     

    Master represents a worker context that runs on a thread. It owns its inbox (mailbox) and a builder for items.

    Related Procedures With Parameters
    Related Procedures With Returns

    MayItem ¶

    MayItem :: runtime.Maybe($T=^PolyNode)

    PolyNode ¶

    PolyNode :: matryoshka.PolyNode
     

    Aliases for matryoshka core types.

    Sensor ¶

    Sensor :: examples_block1.Sensor

    Constants

    This section is empty.

    Variables

    EVENT_TAG ¶

    EVENT_TAG: rawptr = …

    EXIT_TAG ¶

    EXIT_TAG: rawptr = …

    MAILBOX_TAG ¶

    MAILBOX_TAG: rawptr = …
     

    Tag alias and helper for infrastructure identity checks.

    SENSOR_TAG ¶

    SENSOR_TAG: rawptr = …

    Procedures

    batch_receiver_proc ¶

    batch_receiver_proc :: proc(t: ^thread.Thread) {…}
     

    Receiver processes items in batches.

    consumer_proc ¶

    consumer_proc :: proc(t: ^thread.Thread) {…}
     

    Consumer: Final stage.

    example_batch_processing ¶

    example_batch_processing :: proc() -> bool {…}
     

    example_batch_processing demonstrates batch retrieval using try_receive_batch.

    example_fan_in_out ¶

    example_fan_in_out :: proc() -> bool {…}
     

    example_fan_in_out demonstrates multiple producers and multiple consumers.

    example_interrupt_oob ¶

    example_interrupt_oob :: proc() -> bool {…}
     

    example_interrupt_oob demonstrates Out-Of-Band signaling.

    example_pipeline ¶

    example_pipeline :: proc() -> bool {…}
     

    example_pipeline demonstrates a chain of Masters.

    example_readme_worker ¶

    example_readme_worker :: proc() -> bool {…}
     

    example_readme_worker demonstrates the simple worker example from README.md.

    example_request_response ¶

    example_request_response :: proc() -> bool {…}
     

    request_response_example demonstrates two masters exchanging items.

    example_shutdown_exit ¶

    example_shutdown_exit :: proc() -> bool {…}
     

    example_shutdown_exit demonstrates shutdown via an exit message.

    freeMaster ¶

    freeMaster :: proc(m: ^Master) {…}
     

    freeMaster performs clean teardown of a Master. It closes the inbox, processes remaining items, and disposes the mailbox.

    newMaster ¶

    newMaster :: proc(alloc: runtime.Allocator) -> ^Master {…}
     

    newMaster creates a new Master with a builder and an inbox.

    oob_receiver_proc ¶

    oob_receiver_proc :: proc(t: ^thread.Thread) {…}
     

    Receiver waits on main_mb, and when interrupted, consumes oob_mb.

    producer_proc ¶

    producer_proc :: proc(t: ^thread.Thread) {…}
     

    Producer: Creates items and sends to next stage.

    transformer_proc ¶

    transformer_proc :: proc(t: ^thread.Thread) {…}
     

    Transformer: Receives from stage, transforms, sends to next.

    worker_exit_proc ¶

    worker_exit_proc :: proc(t: ^thread.Thread) {…}
     

    Worker waits for items.

    worker_fan_proc ¶

    worker_fan_proc :: proc(t: ^thread.Thread) {…}
     

    Worker process for fan-in/fan-out.

    worker_proc ¶

    worker_proc :: proc(t: ^thread.Thread) {…}
     

    worker_proc is the thread procedure for the worker doll.

    Procedure Groups

    This section is empty.

    Source Files