class Syslog::Transport::QueueTransport
Public Class Methods
new()
click to toggle source
# File lib/syslog/transport/queue.rb, line 7 def initialize @messages_mutex = Mutex.new @messages_cv = ConditionVariable.new @messages = [] end
Public Instance Methods
close()
click to toggle source
# File lib/syslog/transport/queue.rb, line 20 def close end
read()
click to toggle source
# 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
Protected Instance Methods
push(msg, sender)
click to toggle source
# File lib/syslog/transport/queue.rb, line 25 def push(msg, sender) @messages_mutex.synchronize do @messages.unshift([msg, sender]) @messages_cv.signal end nil end