class

SOCKS::Layer::AssociateUDP

Inherits IO < Reference < Object

Constructors

new(targetAddress : Socket::IPAddress | Address, outboundIpAddress : Socket::IPAddress, source : UDPSocket)
Source
new(dns_resolver : DNS::Resolver, target_address : Socket::IPAddress | Address, source : UDPSocket)
Source

Instance methods

close

Closes this IO.

IO defines this is a no-op method, but including types may override.

Source
closed
Source
closed?

Returns true if this IO is closed.

IO defines returns false, but including types may override.

Source
destination
Source
destination_enhanced_associate_udp=(value : Bool)
Source
destination_enhanced_associate_udp?
Source
destinationEnhancedAssociateUdp
Source
forward_destination
Source
forward_source

inbound_forward_ip_address until source receive first buffer parse.

Source
inbound_forward_ip_address=(value : Socket::IPAddress)
Source
inbound_ip_address=(value : Socket::IPAddress)
Source
inboundForwardIpAddress
Source
inboundIpAddress
Source
last_alive_time
Source
lastAliveTime
Source
local_address
Source
outbound_forward_ip_address=(value : Socket::IPAddress)
Source
outbound_ip_address=(value : Socket::IPAddress)
Source
outboundForwardIpAddress
Source
outboundIpAddress
Source
raw_mode=(value : Bool)
Source
raw_mode?
Source
rawMode
Source
read(slice : Bytes) : Int32

Reads at most slice.size bytes from this IO into slice. Returns the number of bytes read, which is 0 if and only if there is no more data to read (so checking for 0 is the way to detect end of file).

io = IO::Memory.new "hello"
slice = Bytes.new(4)
io.read(slice) # => 4
slice          # => Bytes[104, 101, 108, 108]
io.read(slice) # => 1
slice          # => Bytes[111, 101, 108, 108]
io.read(slice) # => 0
Source
receivedBytes
Source
running
Source
running=(value : Bool)
Source
running?
Source
rwLock
Source
sentBytes
Source
source
Source
source_enhanced_associate_udp=(value : Bool)
Source
source_enhanced_associate_udp?
Source
sourceEnhancedAssociateUdp
Source
targetAddress
Source
write(slice : Bytes) : Nil

Writes the contents of slice into this IO.

io = IO::Memory.new
slice = Bytes.new(4) { |i| ('a'.ord + i).to_u8 }
io.write(slice)
io.to_s # => "abcd"
Source