class RubyRabbitmqJanus::Rabbit::BaseEvent
# Parent class for all publisher This element send and read a message in rabbitmq Queue
@!attribute [r] responses
@return [RubyRabbitmqJanus::Janus::Responses::Response] Given an array of Janus response
@abstract Publish message in RabbitMQ
Attributes
lock[RW]
responses[R]
semaphore[RW]
Public Class Methods
new()
click to toggle source
Define a base publisher
# File lib/rrj/rabbit/base_event.rb, line 22 def initialize @responses = [] @semaphore = Semaphore.new @lock = Mutex.new end
Private Instance Methods
return_response()
click to toggle source
# File lib/rrj/rabbit/base_event.rb, line 32 def return_response @semaphore.wait response = nil @lock.synchronize do response = @responses.shift end response end