class Emit::ChannelRequest
Attributes
message[RW]
process[RW]
result[RW]
Public Class Methods
new(process, message=nil)
click to toggle source
# File lib/emit/channel_request.rb, line 5 def initialize(process, message=nil) @message = message @process = process @result = :fail end
Public Instance Methods
active?()
click to toggle source
# File lib/emit/channel_request.rb, line 36 def active? @process.active? end
offer(recipient)
click to toggle source
# File lib/emit/channel_request.rb, line 23 def offer(recipient) return false unless @process.active? && recipient.process.active? recipient.message = @message @result = :success recipient.result = :success @process.notify(:done) recipient.process.notify(:done) true end
poison()
click to toggle source
# File lib/emit/channel_request.rb, line 11 def poison return if success? @result = :poison @process.notify(:poison) end
poisoned?()
click to toggle source
# File lib/emit/channel_request.rb, line 44 def poisoned? @result == :poison end
retire()
click to toggle source
# File lib/emit/channel_request.rb, line 17 def retire return if success? @result = :retire @process.notify(:retire) end
retired?()
click to toggle source
# File lib/emit/channel_request.rb, line 48 def retired? @result == :retired end
success?()
click to toggle source
# File lib/emit/channel_request.rb, line 40 def success? @result == :success end