Sha256: e496a098eccc6b98c580f0903e6d6383ecfcf77f28b8a37e080e3d2b62821cf8

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

module HTTPX
  module Resolver
    class Native
      extend Forwardable
      include ResolverMixin
      include _ToIO

      type state = :idle | :open | :closed

      DEFAULTS: Hash[Symbol, untyped]
      DNS_PORT: Integer

      @options: Options
      @ns_index: Integer
      @resolver_options: Hash[Symbol, untyped]
      @nameserver: String
      @_timeouts: Array[Numeric]
      @timeouts: Hash[String, Array[Numeric]]
      @_record_types: Hash[String, Hash["A" | "AAAA", dns_resource]]
      @connections: Array[Connection]
      @queries: Hash[String, Connection]
      @read_buffer: String
      @write_buffer: Buffer
      @state: state

      def closed?: () -> bool

      def empty?: () -> bool

      def close: () -> void

      def call: () -> void

      def interests: () -> io_interests

      def <<: (Connection) -> void

      def timeout: () -> Numeric?

      private

      def initialize: (options) -> untyped

      def calculate_interests: () -> (:r | :w)

      def consume: () -> void

      def do_retry: () -> void

      def dread: (Integer) -> void
               | () -> void

      def dwrite: () -> void

      def parse: (String) -> void

      def resolve: (?Connection connection, ?String hostname) -> void

      def build_socket: () -> void

      def transition: (state nextstate) -> void

      def handle_error: (NativeResolveError | StandardError) -> void
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
httpx-0.17.0 sig/resolver/native.rbs