Sha256: bb2a3b8e009ef8a23eb7ded74cbd00d743b8dc1925947f616e6dc0a6d90442dc

Contents?: true

Size: 620 Bytes

Versions: 8

Compression:

Stored size: 620 Bytes

Contents

# frozen_string_literal: true

module StatsD
  module Instrument
    class UdpConnection
      DEFAULT_MAX_PACKET_SIZE = 1_472

      attr_reader :host, :port

      def initialize(host, port)
        @host = host
        @port = port
      end

      def send_datagram(message)
        socket.send(message, 0)
      end

      def close
        @socket&.close
        @socket = nil
      end

      def type
        :udp
      end

      private

      def socket
        @socket ||= begin
          socket = UDPSocket.new
          socket.connect(@host, @port)
          socket
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
statsd-instrument-3.9.7 lib/statsd/instrument/udp_connection.rb
statsd-instrument-3.9.6 lib/statsd/instrument/udp_connection.rb
statsd-instrument-3.9.5 lib/statsd/instrument/udp_connection.rb
statsd-instrument-3.9.4 lib/statsd/instrument/udp_connection.rb
statsd-instrument-3.9.3 lib/statsd/instrument/udp_connection.rb
statsd-instrument-3.9.2 lib/statsd/instrument/udp_connection.rb
statsd-instrument-3.9.1 lib/statsd/instrument/udp_connection.rb
statsd-instrument-3.9.0 lib/statsd/instrument/udp_connection.rb