Sha256: a35de16bf74dadbeabfa05fa07f5111cf3696f9bd9724e8e8bb1b4a4e3a8de83

Contents?: true

Size: 512 Bytes

Versions: 3

Compression:

Stored size: 512 Bytes

Contents

# frozen_string_literal: true

module Jaeger
  module Client
    class AsyncReporter
      class Buffer
        def initialize
          @buffer = []
          @mutex = Mutex.new
        end

        def <<(element)
          @mutex.synchronize do
            @buffer << element
            true
          end
        end

        def retrieve
          @mutex.synchronize do
            elements = @buffer.dup
            @buffer.clear
            elements
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jaeger-client-0.8.0 lib/jaeger/client/async_reporter/buffer.rb
jaeger-client-0.7.1 lib/jaeger/client/async_reporter/buffer.rb
jaeger-client-0.7.0 lib/jaeger/client/async_reporter/buffer.rb