Class: LogStash::Outputs::SumoLogic::MessageQueue
- Inherits:
-
Object
- Object
- LogStash::Outputs::SumoLogic::MessageQueue
- Defined in:
- lib/logstash/outputs/sumologic/message_queue.rb
Instance Method Summary collapse
-
#deq ⇒ Object
def push.
-
#drain ⇒ Object
def pop.
- #enq(obj) ⇒ Object
-
#initialize(stats, config) ⇒ MessageQueue
constructor
A new instance of MessageQueue.
-
#size ⇒ Object
def drain.
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
#deq ⇒ Object
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 |
#drain ⇒ Object
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 |
#size ⇒ Object
def drain
33 34 35 |
# File 'lib/logstash/outputs/sumologic/message_queue.rb', line 33 def size() @queue.size() end |