ÿØÿà JFIF    ÿÛ „ ( %!1!%*+...983,7(-.- PKr6]F/ afamily-i.rinu[U:RDoc::AnyMethod[iI" afamily:ETI"Addrinfo#afamily;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I".returns the address family as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"FAddrinfo.tcp("localhost", 80).afamily == Socket::AF_INET #=> true;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"!addrinfo.afamily => integer ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]̳unix_path-i.rinu[U:RDoc::AnyMethod[iI"unix_path:ETI"Addrinfo#unix_path;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I")Returns the socket path as a string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"?Addrinfo.unix("/tmp/sock").unix_path #=> "/tmp/sock";T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I" addrinfo.unix_path => path ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]&u==ipv6_to_ipv4-i.rinu[U:RDoc::AnyMethod[iI"ipv6_to_ipv4:ETI"Addrinfo#ipv6_to_ipv4;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"BReturns IPv4 address of IPv4 mapped/compatible IPv6 address. ;TI"IIt returns nil if +self+ is not IPv4 mapped/compatible IPv6 address.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [ I"MAddrinfo.ip("::192.0.2.3").ipv6_to_ipv4 #=> # ;TI"MAddrinfo.ip("::ffff:192.0.2.3").ipv6_to_ipv4 #=> # ;TI":Addrinfo.ip("::1").ipv6_to_ipv4 #=> nil ;TI":Addrinfo.ip("192.0.2.3").ipv6_to_ipv4 #=> nil ;TI"9Addrinfo.unix("/tmp/sock").ipv6_to_ipv4 #=> nil;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]-Sjj inspect-i.rinu[U:RDoc::AnyMethod[iI" inspect:ETI"Addrinfo#inspect;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"Breturns a string which shows addrinfo in human-readable form.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"[Addrinfo.tcp("localhost", 80).inspect #=> "#" ;TI"SAddrinfo.unix("/tmp/sock").inspect #=> "#";T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I" addrinfo.inspect => string ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]I^bb ipv4%3f-i.rinu[U:RDoc::AnyMethod[iI" ipv4?:ETI"Addrinfo#ipv4?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"/returns true if addrinfo is IPv4 address. ;TI"returns false otherwise.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"2Addrinfo.tcp("127.0.0.1", 80).ipv4? #=> true ;TI"3Addrinfo.tcp("::1", 80).ipv4? #=> false ;TI"2Addrinfo.unix("/tmp/sock").ipv4? #=> false;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"%addrinfo.ipv4? => true or false ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6] #ipv6_sitelocal%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_sitelocal?:ETI"Addrinfo#ipv6_sitelocal?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I";Returns true for IPv6 site local address (ffc0::/10). ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]w~~connect_to-i.rinu[U:RDoc::AnyMethod[iI"connect_to:EFI"Addrinfo#connect_to;TF: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"Hcreates a socket connected to _remote_addr_args_ and bound to self.;To:RDoc::Markup::BlankLineo; ; [I"IThe optional last argument _opts_ is options represented by a hash. ;TI"'_opts_ may have following options:;T@o:RDoc::Markup::List: @type: LABEL: @items[o:RDoc::Markup::ListItem: @label[I" :timeout;T; [o; ; [I"$specify the timeout in seconds.;T@o; ; [I"_If a block is given, it is called with the socket and the value of the block is returned. ;TI"&The socket is returned otherwise.;T@o:RDoc::Markup::Verbatim; [ I"LAddrinfo.tcp("0.0.0.0", 4649).connect_to("www.ruby-lang.org", 80) {|s| ;TI"C s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n" ;TI" puts s.read ;TI"};T: @format0: @fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I"uaddrinfo.connect_to([remote_addr_args], [opts]) {|socket| ... } addrinfo.connect_to([remote_addr_args], [opts]) ;T0[I"(*args, &block);T@&FI" Addrinfo;TcRDoc::NormalClass00PKr6]JKfamily_addrinfo-i.rinu[U:RDoc::AnyMethod[iI"family_addrinfo:EFI"Addrinfo#family_addrinfo;TF: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"3creates an Addrinfo object from the arguments.;To:RDoc::Markup::BlankLineo; ; [I"6The arguments are interpreted as similar to self.;T@o:RDoc::Markup::Verbatim; [ I"LAddrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80) ;TI"C#=> # ;TI" ;TI">Addrinfo.unix("/tmp/sock").family_addrinfo("/tmp/sock2") ;TI",#=> #;T: @format0: @fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below000[I" (*args);T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]T protocol-i.rinu[U:RDoc::AnyMethod[iI" protocol:ETI"Addrinfo#protocol;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"+returns the socket type as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"KAddrinfo.tcp("localhost", 80).protocol == Socket::IPPROTO_TCP #=> true;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I""addrinfo.protocol => integer ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6](ūipv6_v4mapped%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_v4mapped?:ETI"Addrinfo#ipv6_v4mapped?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"@Returns true for IPv4-mapped IPv6 address (::ffff:0:0/80). ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]iCipv6_linklocal%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_linklocal?:ETI"Addrinfo#ipv6_linklocal?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I";Returns true for IPv6 link local address (ff80::/10). ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]Џm~ipv6_mc_linklocal%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_mc_linklocal?:ETI" Addrinfo#ipv6_mc_linklocal?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"?Returns true for IPv6 multicast link-local scope address. ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]==to_sockaddr-i.rinu[U:RDoc::AnyMethod[iI"to_sockaddr:ETI"Addrinfo#to_sockaddr;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"Areturns the socket address as packed struct sockaddr string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"/Addrinfo.tcp("localhost", 80).to_sockaddr ;TI"H#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00";T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"#addrinfo.to_sockaddr => string;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]R/> > new-c.rinu[U:RDoc::AnyMethod[iI"new:ETI"Addrinfo::new;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [ I")returns a new instance of Addrinfo. ;TI"AThe instance contains sockaddr, family, socktype, protocol. ;TI"Ksockaddr means struct sockaddr which can be used for connect(2), etc. ;TI"Yfamily, socktype and protocol are integers which is used for arguments of socket(2).;To:RDoc::Markup::BlankLineo; ; [ I"4sockaddr is specified as an array or a string. ;TI"VThe array should be compatible to the value of IPSocket#addr or UNIXSocket#addr. ;TI":The string should be struct sockaddr as generated by ;TI"5Socket.sockaddr_in or Socket.unpack_sockaddr_un.;T@o; ; [I"sockaddr examples:;To:RDoc::Markup::List: @type: BULLET: @items[ o:RDoc::Markup::ListItem: @label0; [o; ; : LABEL;[o;;[I";"AF_INET", 46102, "localhost.localdomain", "127.0.0.1";T; [@o;;0; [o; ; ;;[o;;[I"."AF_INET6", 42304, "ip6-localhost", "::1";T; [@o;;0; [o; ; ;;[o;;[I""AF_UNIX", "/tmp/sock";T; [@o;;0; [o; ; [I".Socket.sockaddr_in("smtp", "2001:DB8::1");To;;0; [o; ; [I"+Socket.sockaddr_in(80, "172.18.22.42");To;;0; [o; ; [I"0Socket.sockaddr_in(80, "www.ruby-lang.org");To;;0; [o; ; [I"$Socket.sockaddr_un("/tmp/sock");T@o; ; [I"=In an AF_INET/AF_INET6 sockaddr array, the 4th element, ;TI"Wnumeric IP address, is used to construct socket address in the Addrinfo instance. ;TI"oIf the 3rd element, textual host name, is non-nil, it is also recorded but used only for Addrinfo#inspect.;T@o; ; [ I"_family is specified as an integer to specify the protocol family such as Socket::PF_INET. ;TI"?It can be a symbol or a string which is the constant name ;TI"Nwith or without PF_ prefix such as :INET, :INET6, :UNIX, "PF_INET", etc. ;TI"&If omitted, PF_UNSPEC is assumed.;T@o; ; [ I"asocktype is specified as an integer to specify the socket type such as Socket::SOCK_STREAM. ;TI"?It can be a symbol or a string which is the constant name ;TI"Uwith or without SOCK_ prefix such as :STREAM, :DGRAM, :RAW, "SOCK_STREAM", etc. ;TI"If omitted, 0 is assumed.;T@o; ; [ I"^protocol is specified as an integer to specify the protocol such as Socket::IPPROTO_TCP. ;TI"8It must be an integer, unlike family and socktype. ;TI"If omitted, 0 is assumed. ;TI"KNote that 0 is reasonable value for most protocols, except raw socket.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"Addrinfo.new(sockaddr) => addrinfo Addrinfo.new(sockaddr, family) => addrinfo Addrinfo.new(sockaddr, family, socktype) => addrinfo Addrinfo.new(sockaddr, family, socktype, protocol) => addrinfo ;T0[I"$(p1, p2 = v2, p3 = v3, p4 = v4);T@`FI" Addrinfo;TcRDoc::NormalClass00PKr6]7TTgetnameinfo-i.rinu[U:RDoc::AnyMethod[iI"getnameinfo:ETI"Addrinfo#getnameinfo;TF: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"8returns nodename and service as a pair of strings. ;TI"IThis converts struct sockaddr in addrinfo to textual representation.;To:RDoc::Markup::BlankLineo; ; [I" ["localhost", "www"] ;TI" ;TI"GAddrinfo.tcp("127.0.0.1", 80).getnameinfo(Socket::NI_NUMERICSERV) ;TI"#=> ["localhost", "80"];T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"kaddrinfo.getnameinfo => [nodename, service] addrinfo.getnameinfo(flags) => [nodename, service] ;T0[I"(p1 = v1);T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]*inspect_sockaddr-i.rinu[U:RDoc::AnyMethod[iI"inspect_sockaddr:ETI"Addrinfo#inspect_sockaddr;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"Vreturns a string which shows the sockaddr in _addrinfo_ with human-readable form.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"KAddrinfo.tcp("localhost", 80).inspect_sockaddr #=> "127.0.0.1:80" ;TI"GAddrinfo.tcp("ip6-localhost", 80).inspect_sockaddr #=> "[::1]:80" ;TI"GAddrinfo.unix("/tmp/sock").inspect_sockaddr #=> "/tmp/sock";T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I")addrinfo.inspect_sockaddr => string ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6] Aipv4_multicast%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv4_multicast?:ETI"Addrinfo#ipv4_multicast?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"nodename or service can be nil if no conversion intended.;T@o; ; [ I"Dfamily, socktype and protocol are hint for preferred protocol. ;TI"?If the result will be used for a socket with SOCK_STREAM, ;TI"2SOCK_STREAM should be specified as socktype. ;TI"TIf so, Addrinfo.getaddrinfo returns addrinfo list appropriate for SOCK_STREAM. ;TI"GIf they are omitted or nil is given, the result is not restricted.;T@o; ; [I"6Similarly, PF_INET6 as family restricts for IPv6.;T@o; ; [I"Mflags should be bitwise OR of Socket::AI_??? constants such as follows. ;TI"=Note that the exact list of the constants depends on OS.;T@o:RDoc::Markup::Verbatim; [ I"4AI_PASSIVE Get address to use with bind() ;TI"0AI_CANONNAME Fill in the canonical name ;TI"2AI_NUMERICHOST Prevent host name resolution ;TI"5AI_NUMERICSERV Prevent service name resolution ;TI"7AI_V4MAPPED Accept IPv4-mapped IPv6 addresses ;TI")AI_ALL Allow all addresses ;TI"#=> [#, ;TI"T# #];T; 0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"Addrinfo.getaddrinfo(nodename, service, family, socktype, protocol, flags) => [addrinfo, ...] Addrinfo.getaddrinfo(nodename, service, family, socktype, protocol) => [addrinfo, ...] Addrinfo.getaddrinfo(nodename, service, family, socktype) => [addrinfo, ...] Addrinfo.getaddrinfo(nodename, service, family) => [addrinfo, ...] Addrinfo.getaddrinfo(nodename, service) => [addrinfo, ...] ;T0[I"1(p1, p2, p3 = v3, p4 = v4, p5 = v5, p6 = v6);T@7FI" Addrinfo;TcRDoc::NormalClass00PKr6]LUJJip_unpack-i.rinu[U:RDoc::AnyMethod[iI"ip_unpack:ETI"Addrinfo#ip_unpack;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"?Returns the IP address and port number as 2-element array.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"FAddrinfo.tcp("127.0.0.1", 80).ip_unpack #=> ["127.0.0.1", 80] ;TI"?Addrinfo.tcp("::1", 80).ip_unpack #=> ["::1", 80];T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"(addrinfo.ip_unpack => [addr, port] ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]2'kdjjip-c.rinu[U:RDoc::AnyMethod[iI"ip:ETI"Addrinfo::ip;TT: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"/returns an addrinfo object for IP address.;To:RDoc::Markup::BlankLineo; ; [I"CThe port, socktype, protocol of the result is filled by zero. ;TI"2So, it is not appropriate to create a socket.;T@o:RDoc::Markup::Verbatim; [I"DAddrinfo.ip("localhost") #=> #;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"#Addrinfo.ip(host) => addrinfo ;T0[I" (p1);T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]JGG to_s-i.rinu[U:RDoc::AnyMethod[iI" to_s:ETI"Addrinfo#to_s;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"Areturns the socket address as packed struct sockaddr string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"/Addrinfo.tcp("localhost", 80).to_sockaddr ;TI"H#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00";T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I";addrinfo.to_sockaddr => string addrinfo.to_s => string;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]jUcc listen-i.rinu[U:RDoc::AnyMethod[iI" listen:EFI"Addrinfo#listen;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I".creates a listening socket bound to self.;T: @fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below00I" sock;T[I" (backlog=Socket::SOMAXCONN);T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]%^ipv6_mc_sitelocal%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_mc_sitelocal?:ETI" Addrinfo#ipv6_mc_sitelocal?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"?Returns true for IPv6 multicast site-local scope address. ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6],\ipv6_unique_local%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_unique_local?:ETI" Addrinfo#ipv6_unique_local?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"EReturns true for IPv6 unique local address (fc00::/7, RFC4193). ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]Fipv6_mc_nodelocal%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_mc_nodelocal?:ETI" Addrinfo#ipv6_mc_nodelocal?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"?Returns true for IPv6 multicast node-local scope address. ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]connect_from-i.rinu[U:RDoc::AnyMethod[iI"connect_from:EFI"Addrinfo#connect_from;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"7creates a socket connected to the address of self.;To:RDoc::Markup::BlankLineo; ; [I":If one or more arguments given as _local_addr_args_, ;TI"4it is used as the local address of the socket. ;TI"M_local_addr_args_ is given for family_addrinfo to obtain actual address.;T@o; ; [I"UIf _local_addr_args_ is not given, the local address of the socket is not bound.;T@o; ; [I"IThe optional last argument _opts_ is options represented by a hash. ;TI"'_opts_ may have following options:;T@o:RDoc::Markup::List: @type: LABEL: @items[o:RDoc::Markup::ListItem: @label[I" :timeout;T; [o; ; [I"$specify the timeout in seconds.;T@o; ; [I"_If a block is given, it is called with the socket and the value of the block is returned. ;TI"&The socket is returned otherwise.;T@o:RDoc::Markup::Verbatim; [I"NAddrinfo.tcp("www.ruby-lang.org", 80).connect_from("0.0.0.0", 4649) {|s| ;TI"C s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n" ;TI" puts s.read ;TI"} ;TI" ;TI"6# Addrinfo object can be taken for the argument. ;TI"\Addrinfo.tcp("www.ruby-lang.org", 80).connect_from(Addrinfo.tcp("0.0.0.0", 4649)) {|s| ;TI"C s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n" ;TI" puts s.read ;TI"};T: @format0: @fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I"waddrinfo.connect_from([local_addr_args], [opts]) {|socket| ... } addrinfo.connect_from([local_addr_args], [opts]) ;T0[I"(*args, &block);T@4FI" Addrinfo;TcRDoc::NormalClass00PKr6]Y  tcp-c.rinu[U:RDoc::AnyMethod[iI"tcp:ETI"Addrinfo::tcp;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"0returns an addrinfo object for TCP address.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"YAddrinfo.tcp("localhost", "smtp") #=> #;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"*Addrinfo.tcp(host, port) => addrinfo ;T0[I" (p1, p2);T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]a/gbb ipv6%3f-i.rinu[U:RDoc::AnyMethod[iI" ipv6?:ETI"Addrinfo#ipv6?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"/returns true if addrinfo is IPv6 address. ;TI"returns false otherwise.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"3Addrinfo.tcp("127.0.0.1", 80).ipv6? #=> false ;TI"2Addrinfo.tcp("::1", 80).ipv6? #=> true ;TI"2Addrinfo.unix("/tmp/sock").ipv6? #=> false;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"%addrinfo.ipv6? => true or false ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]as&&ip_address-i.rinu[U:RDoc::AnyMethod[iI"ip_address:ETI"Addrinfo#ip_address;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"(Returns the IP address as a string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"AAddrinfo.tcp("127.0.0.1", 80).ip_address #=> "127.0.0.1" ;TI":Addrinfo.tcp("::1", 80).ip_address #=> "::1";T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"#addrinfo.ip_address => string ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]/udp-c.rinu[U:RDoc::AnyMethod[iI"udp:ETI"Addrinfo::udp;TT: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"0returns an addrinfo object for UDP address.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"_Addrinfo.udp("localhost", "daytime") #=> #;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"*Addrinfo.udp(host, port) => addrinfo ;T0[I" (p1, p2);T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]juuipv6_loopback%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_loopback?:ETI"Addrinfo#ipv6_loopback?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"3Returns true for IPv6 loopback address (::1). ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]Ree ip%3f-i.rinu[U:RDoc::AnyMethod[iI"ip?:ETI"Addrinfo#ip?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"?returns true if addrinfo is internet (IPv4/IPv6) address. ;TI"returns false otherwise.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"0Addrinfo.tcp("127.0.0.1", 80).ip? #=> true ;TI"0Addrinfo.tcp("::1", 80).ip? #=> true ;TI"0Addrinfo.unix("/tmp/sock").ip? #=> false;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"#addrinfo.ip? => true or false ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]1}}ipv4_loopback%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv4_loopback?:ETI"Addrinfo#ipv4_loopback?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I";Returns true for IPv4 loopback address (127.0.0.0/8). ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]&ipv6_mc_orglocal%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_mc_orglocal?:ETI"Addrinfo#ipv6_mc_orglocal?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GReturns true for IPv6 multicast organization-local scope address. ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6] # ;TI"-# # ;TI")# # ;TI"(# #;T: @format0: @fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below000[I"S(nodename, service, family=nil, socktype=nil, protocol=nil, flags=nil, &block);T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]+}}ipv6_multicast%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_multicast?:ETI"Addrinfo#ipv6_multicast?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"9Returns true for IPv6 multicast address (ff00::/8). ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]Qxcdesc-Addrinfo.rinu[U:RDoc::NormalClass[iI" Addrinfo:ET@I" Data;To:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0o;;[o:RDoc::Markup::Paragraph;[I"EThe Addrinfo class maps struct addrinfo to ruby. This ;TI"9structure identifies an Internet host and a service.;T; I"ext/socket/raddrinfo.c;T; 0; 0; 0[[[[[I" class;T[[: public[ [I" foreach;FI"ext/socket/lib/socket.rb;T[I"getaddrinfo;TI"ext/socket/raddrinfo.c;T[I"ip;T@#[I"new;T@#[I"tcp;T@#[I"udp;T@#[I" unix;T@#[:protected[[: private[[I" instance;T[[; [.[I" afamily;T@#[I" bind;F@ [I"canonname;T@#[I" connect;F@ [I"connect_from;F@ [I"connect_to;F@ [I"family_addrinfo;F@ [I"getnameinfo;T@#[I" inspect;T@#[I"inspect_sockaddr;T@#[I"ip?;T@#[I"ip_address;T@#[I" ip_port;T@#[I"ip_unpack;T@#[I" ipv4?;T@#[I"ipv4_loopback?;T@#[I"ipv4_multicast?;T@#[I"ipv4_private?;T@#[I" ipv6?;T@#[I"ipv6_linklocal?;T@#[I"ipv6_loopback?;T@#[I"ipv6_mc_global?;T@#[I"ipv6_mc_linklocal?;T@#[I"ipv6_mc_nodelocal?;T@#[I"ipv6_mc_orglocal?;T@#[I"ipv6_mc_sitelocal?;T@#[I"ipv6_multicast?;T@#[I"ipv6_sitelocal?;T@#[I"ipv6_to_ipv4;T@#[I"ipv6_unique_local?;T@#[I"ipv6_unspecified?;T@#[I"ipv6_v4compat?;T@#[I"ipv6_v4mapped?;T@#[I" listen;F@ [I" pfamily;T@#[I" protocol;T@#[I" socktype;T@#[I" to_s;T@#[I"to_sockaddr;T@#[I" unix?;T@#[I"unix_path;T@#[; [[;[[I"connect_internal;F@ [[U:RDoc::Context::Section[i0o;;[; 0; 0[@ @@cRDoc::TopLevelPKr6]ipv6_mc_global%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_mc_global?:ETI"Addrinfo#ipv6_mc_global?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I";Returns true for IPv6 multicast global scope address. ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]fX socktype-i.rinu[U:RDoc::AnyMethod[iI" socktype:ETI"Addrinfo#socktype;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"+returns the socket type as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"KAddrinfo.tcp("localhost", 80).socktype == Socket::SOCK_STREAM #=> true;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I""addrinfo.socktype => integer ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6] *bb unix%3f-i.rinu[U:RDoc::AnyMethod[iI" unix?:ETI"Addrinfo#unix?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"/returns true if addrinfo is UNIX address. ;TI"returns false otherwise.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"3Addrinfo.tcp("127.0.0.1", 80).unix? #=> false ;TI"3Addrinfo.tcp("::1", 80).unix? #=> false ;TI"1Addrinfo.unix("/tmp/sock").unix? #=> true;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"%addrinfo.unix? => true or false ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]|O bind-i.rinu[U:RDoc::AnyMethod[iI" bind:EFI"Addrinfo#bind;TF: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"$creates a socket bound to self.;To:RDoc::Markup::BlankLineo; ; [I"_If a block is given, it is called with the socket and the value of the block is returned. ;TI"&The socket is returned otherwise.;T@o:RDoc::Markup::Verbatim; [ I"-Addrinfo.udp("0.0.0.0", 9981).bind {|s| ;TI"8 s.local_address.connect {|s| s.send "hello", 0 } ;TI" p s.recv(10) #=> "hello" ;TI"};T: @format0: @fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below00I" sock;T[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]n"" connect-i.rinu[U:RDoc::AnyMethod[iI" connect:EFI"Addrinfo#connect;TF: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"7creates a socket connected to the address of self.;To:RDoc::Markup::BlankLineo; ; [I"DThe optional argument _opts_ is options represented by a hash. ;TI"'_opts_ may have following options:;T@o:RDoc::Markup::List: @type: LABEL: @items[o:RDoc::Markup::ListItem: @label[I" :timeout;T; [o; ; [I"$specify the timeout in seconds.;T@o; ; [I"_If a block is given, it is called with the socket and the value of the block is returned. ;TI"&The socket is returned otherwise.;T@o:RDoc::Markup::Verbatim; [ I"8Addrinfo.tcp("www.ruby-lang.org", 80).connect {|s| ;TI"C s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n" ;TI" puts s.read ;TI"};T: @format0: @fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I"Gaddrinfo.connect([opts]) {|socket| ... } addrinfo.connect([opts]) ;T0[I"(opts={}, &block);T@&FI" Addrinfo;TcRDoc::NormalClass00PKr6]Ÿipv4_private%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv4_private?:ETI"Addrinfo#ipv4_private?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"XReturns true for IPv4 private address (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]-dconnect_internal-i.rinu[U:RDoc::AnyMethod[iI"connect_internal:EFI"Addrinfo#connect_internal;TF: privateo:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"Gcreates a new Socket connected to the address of +local_addrinfo+.;To:RDoc::Markup::BlankLineo; ; [I"HIf _local_addrinfo_ is nil, the address of the socket is not bound.;T@o; ; [I"4The _timeout_ specify the seconds for timeout. ;TI"3Errno::ETIMEDOUT is raised when timeout occur.;T@o; ; [I"HIf a block is given the created socket is yielded for each address.;T: @fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below00I" socket;F[I""(local_addrinfo, timeout=nil);T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]Y unix-c.rinu[U:RDoc::AnyMethod[iI" unix:ETI"Addrinfo::unix;TT: publico:RDoc::Markup::Document: @parts[ o:RDoc::Markup::Paragraph; [I"8returns an addrinfo object for UNIX socket address.;To:RDoc::Markup::BlankLineo; ; [I"+_socktype_ specifies the socket type. ;TI"'If it is omitted, :STREAM is used.;T@o:RDoc::Markup::Verbatim; [I"OAddrinfo.unix("/tmp/sock") #=> # ;TI"MAddrinfo.unix("/tmp/sock", :DGRAM) #=> #;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"2Addrinfo.unix(path [, socktype]) => addrinfo ;T0[I"(p1, p2 = v2);T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]WmX pfamily-i.rinu[U:RDoc::AnyMethod[iI" pfamily:ETI"Addrinfo#pfamily;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"/returns the protocol family as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"FAddrinfo.tcp("localhost", 80).pfamily == Socket::PF_INET #=> true;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"!addrinfo.pfamily => integer ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]8}}ipv6_unspecified%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_unspecified?:ETI"Addrinfo#ipv6_unspecified?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"5Returns true for IPv6 unspecified address (::). ;TI" It returns false otherwise.;T: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]~~ipv6_v4compat%3f-i.rinu[U:RDoc::AnyMethod[iI"ipv6_v4compat?:ETI"Addrinfo#ipv6_v4compat?;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I" # ;TI"3p list[0].canonname #=> "carbon.ruby-lang.org";T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I")addrinfo.canonname => string or nil ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]kN:   ip_port-i.rinu[U:RDoc::AnyMethod[iI" ip_port:ETI"Addrinfo#ip_port;TF: publico:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"+Returns the port number as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim; [I"5Addrinfo.tcp("127.0.0.1", 80).ip_port #=> 80 ;TI"4Addrinfo.tcp("::1", 80).ip_port #=> 80;T: @format0: @fileI"ext/socket/raddrinfo.c;T:0@omit_headings_from_table_of_contents_below0I"addrinfo.ip_port => port ;T0[I"();T@FI" Addrinfo;TcRDoc::NormalClass00PKr6]F/ afamily-i.rinu[PKr6]̳)unix_path-i.rinu[PKr6]&u==Kipv6_to_ipv4-i.rinu[PKr6]-Sjj inspect-i.rinu[PKr6]I^bb o ipv4%3f-i.rinu[PKr6] # ipv6_sitelocal%3f-i.rinu[PKr6]w~~connect_to-i.rinu[PKr6]JKfamily_addrinfo-i.rinu[PKr6]T protocol-i.rinu[PKr6](ūipv6_v4mapped%3f-i.rinu[PKr6]iCipv6_linklocal%3f-i.rinu[PKr6]Џm~xipv6_mc_linklocal%3f-i.rinu[PKr6]==Jto_sockaddr-i.rinu[PKr6]R/> >  new-c.rinu[PKr6]7TT=,getnameinfo-i.rinu[PKr6]*/inspect_sockaddr-i.rinu[PKr6] A2ipv4_multicast%3f-i.rinu[PKr6]PI I 4getaddrinfo-c.rinu[PKr6]LUJJ+?ip_unpack-i.rinu[PKr6]2'kdjjAip-c.rinu[PKr6]JGG TDto_s-i.rinu[PKr6]jUcc Flisten-i.rinu[PKr6]%^rHipv6_mc_sitelocal%3f-i.rinu[PKr6],\DJipv6_unique_local%3f-i.rinu[PKr6]FLipv6_mc_nodelocal%3f-i.rinu[PKr6]Mconnect_from-i.rinu[PKr6]Y  Ttcp-c.rinu[PKr6]a/gbb Wipv6%3f-i.rinu[PKr6]as&&Yip_address-i.rinu[PKr6]/\udp-c.rinu[PKr6]juu^^ipv6_loopback%3f-i.rinu[PKr6]Ree `ip%3f-i.rinu[PKr6]1}}bipv4_loopback%3f-i.rinu[PKr6]&ydipv6_mc_orglocal%3f-i.rinu[PKr6]