Class: Synapse::EventBus::ClusteringEventBus

Inherits:
Object
  • Object
show all
Defined in:
lib/synapse/event_bus/clustering/event_bus.rb

Instance Method Summary collapse

Constructor Details

#initialize(cluster_selector) ⇒ undefined

Parameters:



6
7
8
9
# File 'lib/synapse/event_bus/clustering/event_bus.rb', line 6

def initialize(cluster_selector)
  @cluster_selector = cluster_selector
  @clusters = Set.new
end

Instance Method Details

#publish(*events) ⇒ undefined

Parameters:

  • events (EventMessage...)

Returns:

  • (undefined)


14
15
16
17
18
19
20
# File 'lib/synapse/event_bus/clustering/event_bus.rb', line 14

def publish(*events)
  events.flatten!

  @clusters.each do |cluster|
    cluster.publish events
  end
end

#subscribe(listener) ⇒ undefined

Parameters:

Returns:

  • (undefined)

Raises:



26
27
28
# File 'lib/synapse/event_bus/clustering/event_bus.rb', line 26

def subscribe(listener)
  select_cluster(listener).subscribe(listener)
end

#unsubscribe(listener) ⇒ undefined

Parameters:

Returns:

  • (undefined)


33
34
35
# File 'lib/synapse/event_bus/clustering/event_bus.rb', line 33

def unsubscribe(listener)
  select_cluster(listener).unsubscribe(listener)
end