Class: ActiveEvent::EventSourceServer::Status
- Inherits:
-
Object
- Object
- ActiveEvent::EventSourceServer::Status
show all
- Defined in:
- lib/active_event/event_source_server.rb
Defined Under Namespace
Modules: UnconditionalVariable
Instance Method Summary
collapse
Constructor Details
#initialize ⇒ Status
Returns a new instance of Status.
54
55
56
|
# File 'lib/active_event/event_source_server.rb', line 54
def initialize
@waiters = {}
end
|
Instance Method Details
#event=(event) ⇒ Object
70
71
72
73
74
75
|
# 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 ⇒ Object
77
78
79
|
# 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) ⇒ Object
66
67
68
|
# 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) ⇒ Object
58
59
60
61
62
63
64
|
# 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
|