Sha256: ce63ce421c51eec02e15f85c3a6a291eb943ec29b628d36b5864052b692b2b7f
Contents?: true
Size: 1004 Bytes
Versions: 4
Compression:
Stored size: 1004 Bytes
Contents
# frozen_string_literal: true module Datadog class Statsd class Batch def initialize(connection, max_buffer_bytes) @connection = connection @max_buffer_bytes = max_buffer_bytes @depth = 0 reset end def open @depth += 1 yield ensure @depth -= 1 flush if !open? end def open? @depth > 0 end def add(message) message_bytes = message.bytesize unless @buffer_bytes == 0 if @buffer_bytes + 1 + message_bytes >= @max_buffer_bytes flush else @buffer << "\n" @buffer_bytes += 1 end end @buffer << message @buffer_bytes += message_bytes end def flush return if @buffer_bytes == 0 @connection.write(@buffer) reset end private def reset @buffer = String.new @buffer_bytes = 0 end end end end
Version data entries
4 entries across 4 versions & 1 rubygems