class ActiveEvent::EventSourceServer::Status

Public Class Methods

new() click to toggle source
# File lib/active_event/event_source_server.rb, line 54
def initialize
  @waiters = {}
end

Public Instance Methods

event=(event) click to toggle source
# File lib/active_event/event_source_server.rb, line 70
def event=(event)
  @event_id = event
  cvs = []
  @waiters.delete_if { |event_id, cv| (event_id <= event) && (cvs << cv) }
  cvs.map &:broadcast
end
fail_on_error() click to toggle source
# File lib/active_event/event_source_server.rb, line 77
def fail_on_error
  fail ProjectionException, @error, @backtrace if @error
end
set_error(error, backtrace) click to toggle source
# File lib/active_event/event_source_server.rb, line 66
def set_error(error, backtrace)
  @error, @backtrace = error, backtrace if error || backtrace
end
waiter(event) click to toggle source
# File lib/active_event/event_source_server.rb, line 58
def waiter(event)
  if event > @event_id
    @waiters[event] ||= ConditionVariable.new
  else
    UnconditionalVariable
  end
end