Skip to content

Feature request: Compose global serialization with component-local lifetimes #13

Description

@dombrovsky

Feature request

Allow short-lived components to participate in a shared serialization constraint while retaining independent cancellation and disposal boundaries.

Rationale

Multiple components may need to coordinate access to one shared resource, but each component still owns its own pending work. Using only one global lifetime couples unrelated components; using only local TaskFlows loses global serialization.

Use case

Several independently disposable components submit operations to the same non-thread-safe resource. All operations must be globally serialized, but disposing one component should affect only that component's work.

Desired behavior

  • Operations from all participating components respect the shared execution constraint.
  • Each component can cancel and wait for its own queued or running work.
  • Disposing one component does not dispose the shared execution lane or cancel other components.
  • Disposing the shared owner shuts down all participating work consistently.
  • Ordering, cancellation, and ownership remain predictable when local and shared lifetimes overlap.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions