Class: A2A::Server::Events::EventQueue

Inherits:
Object
  • Object
show all
Defined in:
lib/a2a/server/events/event_queue.rb

Overview

Abstract base class for event queues

Defines the interface for event queue implementations that can be used to publish and consume events during agent execution.

Direct Known Subclasses

InMemoryEventQueue

Instance Method Summary collapse

Instance Method Details

#closeObject

This method is abstract.

Subclasses must implement this method

Close the event queue and clean up resources

Raises:



120
121
122
# File 'lib/a2a/server/events/event_queue.rb', line 120

def close
  raise NotImplementedError, "Subclasses must implement close"
end

#closed?Boolean

This method is abstract.

Subclasses must implement this method

Check if the queue is closed

Returns:

  • True if the queue is closed

Raises:



129
130
131
# File 'lib/a2a/server/events/event_queue.rb', line 129

def closed?
  raise NotImplementedError, "Subclasses must implement closed?"
end

#publish(event) ⇒ Object

This method is abstract.

Subclasses must implement this method

Publish an event to the queue

Parameters:

  • The event to publish

Raises:



102
103
104
# File 'lib/a2a/server/events/event_queue.rb', line 102

def publish(event)
  raise NotImplementedError, "Subclasses must implement publish"
end

#subscribe(filter = nil) ⇒ Enumerator

This method is abstract.

Subclasses must implement this method

Subscribe to events from the queue

Parameters:

  • (defaults to: nil)

    Optional filter to apply to events

Returns:

  • Enumerator yielding events

Raises:



112
113
114
# File 'lib/a2a/server/events/event_queue.rb', line 112

def subscribe(filter = nil)
  raise NotImplementedError, "Subclasses must implement subscribe"
end