Class: Syslog::Transport::QueueTransport

Inherits:
Object
  • Object
show all
Defined in:
lib/syslog/transport/queue.rb

Direct Known Subclasses

DatagramSocketTransport, TCPTransport

Instance Method Summary collapse

Constructor Details

#initializeQueueTransport

Returns a new instance of QueueTransport.



7
8
9
10
11
# File 'lib/syslog/transport/queue.rb', line 7

def initialize
  @messages_mutex = Mutex.new
  @messages_cv = ConditionVariable.new
  @messages = []
end

Instance Method Details

#closeObject



20
21
# File 'lib/syslog/transport/queue.rb', line 20

def close
end

#readObject



13
14
15
16
17
18
# File 'lib/syslog/transport/queue.rb', line 13

def read
  @messages_mutex.synchronize do
    @messages_cv.wait(@messages_mutex) if @messages.empty?
    @messages.pop
  end
end