Documentation
¶
Overview ¶
Package eventstream provides generic primitives for bounded event streaming. It deliberately contains no provider, workflow, REST, or transport logic.
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Channel ¶
type Channel string
Channel identifies a logical event channel. The package does not prescribe channel names; consumers may use stdout/stderr, progress/log, or any other workflow-specific vocabulary.
type Completion ¶
Completion is the terminal outcome supplied with a Complete event. Attributes carry consumer-defined result metadata without coupling this package to a particular workflow.
type Event ¶
type Event struct {
Kind EventKind
Channel Channel
Payload []byte
Completion *Completion
}
Event is a provider-neutral stream event. Payload is owned by the event and must not be mutated by a sink after Send returns.
type EventKind ¶
type EventKind uint8
EventKind identifies the lifecycle event represented by an Event.
type Limits ¶
Limits bounds each emitted payload and the aggregate data sent by a Publisher. A zero limit means unlimited for that dimension.
type Publisher ¶
type Publisher struct {
// contains filtered or unexported fields
}
Publisher validates, bounds, and forwards stream events to a Sink.
func NewPublisher ¶
NewPublisher creates a bounded publisher. A nil sink is rejected when the first event is emitted so construction remains convenient for composition.