Extracts addr from IPV6_PKTINFO ancillary data.
IPV6_PKTINFO is defined by RFC 3542.
addr = Addrinfo.ip("::1") ifindex = 0 ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex) p ancdata.ipv6_pktinfo_addr #=> #<Addrinfo: ::1>
Creates a new Socket::Option
object for IP_MULTICAST_TTL.
The size is dependent on the platform.
p Socket::Option.ipv4_multicast_ttl(10) #=> #<Socket::Option: INET IP MULTICAST_TTL 10>
Returns the ipv4_multicast_ttl
data in sockopt as an integer.
sockopt = Socket::Option.ipv4_multicast_ttl(10) p sockopt.ipv4_multicast_ttl => 10
Creates a new Socket::Option
object for IP_MULTICAST_LOOP.
The size is dependent on the platform.
sockopt = Socket::Option.int(:INET, :IPPROTO_IP, :IP_MULTICAST_LOOP, 1) p sockopt.int => 1 p Socket::Option.ipv4_multicast_loop(10) #=> #<Socket::Option: INET IP MULTICAST_LOOP 10>
Returns the ipv4_multicast_loop
data in sockopt as an integer.
sockopt = Socket::Option.ipv4_multicast_loop(10) p sockopt.ipv4_multicast_loop => 10
Load an iseq object from binary format String
object created by RubyVM::InstructionSequence.to_binary
.
This loader does not have a verifier, so that loading broken/modified binary causes critical problem.
You should not load binary data provided by others. You should use binary data translated by yourself.
Takes file
, a String
with the location of a Ruby source file, reads, parses and compiles the file, and returns iseq
, the compiled InstructionSequence
with source location metadata set. It parses and compiles using prism.
Optionally takes options
, which can be true
, false
or a Hash
, to modify the default behavior of the Ruby iseq compiler.
For details regarding valid compile options see ::compile_option=
.
# /tmp/hello.rb puts "Hello, world!" # elsewhere RubyVM::InstructionSequence.compile_file_prism("/tmp/hello.rb") #=> <RubyVM::InstructionSequence:<main>@/tmp/hello.rb>
Returns whether the request may have a body:
Net::HTTP::Post.new(uri).request_body_permitted? # => true Net::HTTP::Get.new(uri).request_body_permitted? # => false
Waits up to the continue timeout for a response from the server provided we’re speaking HTTP 1.1 and are expecting a 100-continue response.
Compile a BeginNode
node
Compile a DefinedNode
node
Compile a ImaginaryNode
node
Compile a InNode
node
Compile a IntegerNode
node
Compile a RangeNode
node
Compile a RetryNode
node
Compile a StatementsNode
node
Compile a TrueNode
node
attr_reader binary_operator_loc
: Location
attr_reader binary_operator_loc
: Location
Dispatch enter and leave events for BeginNode
nodes and continue walking the tree.