mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-10-04 00:00:37 -04:00
75 lines
1.3 KiB
Plaintext
75 lines
1.3 KiB
Plaintext
module HTTPX
|
|
class TCP
|
|
include Loggable
|
|
|
|
attr_reader ip: Resolver::Entry?
|
|
|
|
attr_reader port: Integer
|
|
|
|
attr_reader addresses: Array[Resolver::Entry]
|
|
|
|
attr_reader state: Symbol
|
|
|
|
attr_reader interests: io_interests
|
|
|
|
alias host ip
|
|
|
|
@io: Socket
|
|
|
|
@hostname: String
|
|
|
|
@options: Options
|
|
|
|
@fallback_protocol: String
|
|
|
|
@keep_open: bool
|
|
|
|
@ip_index: Integer
|
|
|
|
# TODO: lift when https://github.com/ruby/rbs/issues/1497 fixed
|
|
def initialize: (URI::Generic origin, Array[Resolver::Entry]? addresses, Options options) ?{ (instance) -> void } -> void
|
|
|
|
def add_addresses: (Array[Resolver::Entry] addrs) -> void
|
|
|
|
def addresses?: () -> bool
|
|
|
|
def to_io: () -> IO
|
|
|
|
def protocol: () -> String
|
|
|
|
def connect: () -> void
|
|
|
|
private
|
|
|
|
# :nocov:
|
|
def try_connect: () -> void
|
|
|
|
public
|
|
|
|
def read: (Integer size, ?(Buffer | String) buffer) -> (0 | nil | untyped)
|
|
|
|
def write: (Buffer buffer) -> Integer?
|
|
|
|
def close: () -> void
|
|
|
|
def connected?: () -> bool
|
|
|
|
def expired?: () -> boolish
|
|
|
|
def closed?: () -> bool
|
|
|
|
# :nocov:
|
|
def inspect: () -> ::String
|
|
|
|
private
|
|
|
|
def build_socket: () -> Socket
|
|
|
|
def transition: (Symbol nextstate) -> void
|
|
|
|
def do_transition: (Symbol nextstate) -> void
|
|
|
|
def log_transition_state: (Symbol nextstate) -> void
|
|
end
|
|
end
|