Class: LogStash::Outputs::SumoLogic::MessageQueue

Inherits:
Object
  • Object
show all
Defined in:
lib/logstash/outputs/sumologic/message_queue.rb

Instance Method Summary collapse

Constructor Details

#initialize(stats, config) ⇒ MessageQueue



8
9
10
11
12
# File 'lib/logstash/outputs/sumologic/message_queue.rb', line 8

def initialize(stats, config)
  @queue_max = (config["queue_max"] ||= 1) < 1 ? 1 : config["queue_max"]
  @queue = SizedQueue::new(@queue_max)
  @stats = stats
end

Instance Method Details

#deqObject

def push



21
22
23
24
25
# File 'lib/logstash/outputs/sumologic/message_queue.rb', line 21

def deq()
  obj = @queue.deq()
  @stats.record_deque(obj)
  obj
end

#drainObject

def pop



27
28
29
30
31
# File 'lib/logstash/outputs/sumologic/message_queue.rb', line 27

def drain()
  @queue.size.times.map {
    deq()
  }
end

#enq(obj) ⇒ Object



14
15
16
17
18
19
# File 'lib/logstash/outputs/sumologic/message_queue.rb', line 14

def enq(obj)
  if (obj.bytesize > 0)
    @queue.enq(obj)
    @stats.record_enque(obj)
  end
end

#sizeObject

def drain



33
34
35
# File 'lib/logstash/outputs/sumologic/message_queue.rb', line 33

def size()
  @queue.size()
end