event_notifier

Event-based notifier implementation using asyncio Event primitives.

class pipecat.utils.sync.event_notifier.EventNotifier[source]

Bases: BaseNotifier

Event-based notifier using asyncio.Event for task synchronization.

Provides a simple single-consumer notification mechanism where one task can signal an event and one other task can wait for that event to occur. The event is automatically cleared after each wait operation.

Note: This notifier supports only a single waiter at a time. If multiple tasks wait concurrently, notifications may be lost.

__init__()[source]

Initialize the event notifier.

Creates an internal asyncio.Event for managing notifications.

async notify()[source]

Signal the event to notify waiting tasks.

Sets the internal event, causing any tasks waiting on this notifier to be awakened.

async wait()[source]

Wait for the event to be signaled.

Blocks until another task calls notify(). Automatically clears the event after being awakened so subsequent calls will wait for the next notification.