Sha256: e905b8eff7f9b849172c654aae0635e1174d939e0dd4994145ba341ec16e6654
Contents?: true
Size: 824 Bytes
Versions: 1
Compression:
Stored size: 824 Bytes
Contents
# frozen_string_literal: true require_relative 'connection' module Datadog class Statsd class UDSConnection < Connection class BadSocketError < StandardError; end # DogStatsd unix socket path attr_reader :socket_path def initialize(socket_path, logger, telemetry) super(telemetry) @socket_path = socket_path @logger = logger end private def connect socket = Socket.new(Socket::AF_UNIX, Socket::SOCK_DGRAM) socket.connect(Socket.pack_sockaddr_un(@socket_path)) socket end def send_message(message) socket.sendmsg_nonblock(message) rescue Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::ENOENT => e @socket = nil raise BadSocketError, "#{e.class}: #{e}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dogstatsd-ruby-4.7.0 | lib/datadog/statsd/uds_connection.rb |