type TraceDraw
import bend-trace-context@0.2.0.0/trace_context.bend as TraceContextimport Base
244# The generation machine below is shared by the IO operations and stated in
245# the laws. Its types and its TraceDraw, SpanDraw, TraceStep, SpanStep,
246# SpanPlan, TracePlan, Draw, Step and Drive functions are internal: callers use
247# TraceId.generate_with, SpanId.generate_with and the `Context.*_with`
248# operations, or generation.bend, and a host that feeds words itself uses
249# Generation.
250#
251# A trace ID draw that waits for a word: `remaining` counts the further
252# candidates allowed after the current one, so each draw gets eight
253# candidates in all, `words` holds the words of the current candidate, and
254# `excluded` is the trace ID that no candidate may repeat, such as the
255# received one that a restart replaces.
256type TraceDraw is Data:
257 TraceDraw{remaining: Nat, words: TraceWords, excluded: Maybe<&2, TraceId>}