package matryoshka:examples/block3

⌘K
Ctrl+K
or
/

    Index

    Constants (0)

    This section is empty.

    Variables (2)
    Procedure Groups (0)

    This section is empty.

    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 :: examples_block2.Master
     

    Aliases for Layer 2 Master.

    Master3 ¶

    Master3 :: struct {
    	builder: examples_block1.Builder,
    	inbox:   ^matryoshka.PolyNode,
    	pool:    ^matryoshka.PolyNode,
    	hooks:   matryoshka.PoolHooks,
    	alloc:   runtime.Allocator,
    }
     

    Master3 extends Layer 2 Master with a Pool.

    Related Procedures With Parameters
    Related Procedures With Returns

    MayItem ¶

    MayItem :: runtime.Maybe($T=^PolyNode)
    Related Procedures With Parameters

    PolyNode ¶

    PolyNode :: matryoshka.PolyNode
     

    Aliases for matryoshka core types.

    Pool ¶

    Pool :: ^matryoshka.PolyNode

    PoolHooks ¶

    PoolHooks :: matryoshka.PoolHooks

    Sensor ¶

    Sensor :: examples_block1.Sensor

    Constants

    This section is empty.

    Variables

    EVENT_TAG ¶

    EVENT_TAG: rawptr = …

    SENSOR_TAG ¶

    SENSOR_TAG: rawptr = …

    Procedures

    example_backpressure ¶

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

    example_backpressure demonstrates pool limits via hooks.

    example_master_with_pool ¶

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

    example_master_with_pool demonstrates a Master using a Pool for its items.

    example_recycler ¶

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

    example_recycler demonstrates basic pool usage with hooks.

    example_seeding ¶

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

    example_seeding demonstrates pre-allocating items in the pool.

    freeMaster3 ¶

    freeMaster3 :: proc(m: ^Master3) {…}
     

    freeMaster3 performs clean teardown.

    limited_on_put ¶

    limited_on_put :: proc(ctx: rawptr, in_pool_count: untyped integer, m: ^runtime.Maybe($T=^PolyNode)) {…}
     

    limited_on_put implements a simple backpressure policy.

    master_on_get ¶

    master_on_get :: proc(ctx: rawptr, tag: rawptr, in_pool_count: untyped integer, m: ^runtime.Maybe($T=^PolyNode)) {…}
     

    master_on_get provides creation and reinitialization logic for the pool.

    master_on_put ¶

    master_on_put :: proc(ctx: rawptr, in_pool_count: untyped integer, m: ^runtime.Maybe($T=^PolyNode)) {…}
     

    master_on_put provides policy-based reuse logic.

    newMaster3 ¶

    newMaster3 :: proc(alloc: runtime.Allocator) -> ^Master3 {…}
     

    newMaster3 creates a master with both mailbox and pool.

    Procedure Groups

    This section is empty.

    Source Files