@Override protected IRubyObject addrFor(ThreadContext context, InetSocketAddress addr, boolean reverse) { final Ruby runtime = context.runtime; return new Addrinfo(runtime, runtime.getClass("Addrinfo"), addr.getAddress(), addr.getPort(), Sock.SOCK_DGRAM); }
@Override protected IRubyObject addrFor(ThreadContext context, InetSocketAddress addr, boolean reverse) { final Ruby runtime = context.runtime; return new Addrinfo(runtime, runtime.getClass("Addrinfo"), addr.getAddress(), addr.getPort(), Sock.SOCK_DGRAM); }
@JRubyMethod public IRubyObject netmask(ThreadContext context) throws UnknownHostException { if (netmask == null) { return context.nil; } return new Addrinfo(context.runtime, context.runtime.getClass("Addrinfo"), InetAddress.getByName(netmask)); }
@JRubyMethod(meta = true) public static IRubyObject tcp(ThreadContext context, IRubyObject recv, IRubyObject arg0, IRubyObject arg1) { Addrinfo addrinfo = new Addrinfo(context.runtime, (RubyClass)recv); addrinfo.initializeCommon(context.runtime, arg0, null, null, arg1); return addrinfo; }
@JRubyMethod(meta = true) public static IRubyObject ip(ThreadContext context, IRubyObject recv, IRubyObject arg) { String host = arg.convertToString().toString(); try { InetAddress addy = InetAddress.getByName(host); return new Addrinfo(context.runtime, (RubyClass)recv, addy); } catch (UnknownHostException uhe) { throw SocketUtils.sockerr(context.runtime, "host not found"); } }
@JRubyMethod(meta = true) public static IRubyObject unix(ThreadContext context, IRubyObject recv, IRubyObject path) { Addrinfo addrinfo = new Addrinfo(context.runtime, (RubyClass) recv); addrinfo.socketAddress = new UnixSocketAddress(new File(path.convertToString().toString())); addrinfo.sock = Sock.SOCK_STREAM; addrinfo.socketType = SocketType.UNIX; addrinfo.pfamily = PF_UNIX; addrinfo.protocol = Protocol.getProtocolByName("ip"); return addrinfo; }
@JRubyMethod(meta = true) public static IRubyObject ip(ThreadContext context, IRubyObject recv, IRubyObject arg) { String host = arg.convertToString().toString(); try { InetAddress addy = InetAddress.getByName(host); return new Addrinfo(context.runtime, (RubyClass)recv, addy); } catch (UnknownHostException uhe) { throw SocketUtils.sockerr(context.runtime, "host not found"); } }
@JRubyMethod(meta = true) public static IRubyObject unix(ThreadContext context, IRubyObject recv, IRubyObject path) { Addrinfo addrinfo = new Addrinfo(context.runtime, (RubyClass) recv); addrinfo.socketAddress = new UnixSocketAddress(new File(path.convertToString().toString())); addrinfo.sock = Sock.SOCK_STREAM; addrinfo.socketType = SocketType.UNIX; addrinfo.pfamily = PF_UNIX; addrinfo.protocol = Protocol.getProtocolByName("ip"); return addrinfo; }
@JRubyMethod(compat = CompatVersion.RUBY1_9) public IRubyObject remote_address(ThreadContext context) { try { InetSocketAddress address = getRemoteSocket(); if (address == null) { return context.nil; } else { return new Addrinfo(context.runtime, context.runtime.getClass("Addrinfo"), address.getAddress(), address.getPort(), SocketType.forChannel(getChannel())); } } catch (BadDescriptorException bde) { throw context.runtime.newErrnoEBADFError("address unavailable"); } }
@JRubyMethod(meta = true) public static IRubyObject unix(ThreadContext context, IRubyObject recv, IRubyObject path, IRubyObject type) { Addrinfo addrinfo = new Addrinfo(context.runtime, (RubyClass) recv); addrinfo.socketAddress = new UnixSocketAddress(new File(path.convertToString().toString())); addrinfo.sock = SocketUtils.sockFromArg(type); addrinfo.socketType = SocketType.UNIX; addrinfo.pfamily = PF_UNIX; addrinfo.protocol = Protocol.getProtocolByName("ip"); return addrinfo; }
@JRubyMethod(meta = true) public static IRubyObject unix(ThreadContext context, IRubyObject recv, IRubyObject path, IRubyObject type) { Addrinfo addrinfo = new Addrinfo(context.runtime, (RubyClass) recv); addrinfo.socketAddress = new UnixSocketAddress(new File(path.convertToString().toString())); addrinfo.sock = SocketUtils.sockFromArg(type); addrinfo.socketType = SocketType.UNIX; addrinfo.pfamily = PF_UNIX; addrinfo.protocol = Protocol.getProtocolByName("ip"); return addrinfo; }
@JRubyMethod(meta = true) public static IRubyObject ip(ThreadContext context, IRubyObject recv, IRubyObject arg) { String host = arg.convertToString().toString(); try { InetAddress addy = InetAddress.getByName(host); Addrinfo addrinfo = new Addrinfo(context.runtime, (RubyClass) recv, addy); addrinfo.protocol = Protocol.getProtocolByName("ip"); return addrinfo; } catch (UnknownHostException uhe) { throw SocketUtils.sockerr(context.runtime, "host not found"); } }
@JRubyMethod(meta = true) public static IRubyObject tcp(ThreadContext context, IRubyObject recv, IRubyObject host, IRubyObject port) { Ruby runtime = context.runtime; Addrinfo addrinfo = new Addrinfo(runtime, (RubyClass) recv); addrinfo.initializeCommon(context, host, runtime.newFixnum(PF_UNSPEC.intValue()), runtime.newFixnum(Sock.SOCK_STREAM.intValue()), port); return addrinfo; }
@JRubyMethod(meta = true) public static IRubyObject tcp(ThreadContext context, IRubyObject recv, IRubyObject host, IRubyObject port) { Ruby runtime = context.runtime; Addrinfo addrinfo = new Addrinfo(runtime, (RubyClass) recv); addrinfo.initializeCommon(context, host, runtime.newFixnum(PF_UNSPEC.intValue()), runtime.newFixnum(Sock.SOCK_STREAM.intValue()), port); return addrinfo; }
@JRubyMethod(meta = true) public static IRubyObject udp(ThreadContext context, IRubyObject recv, IRubyObject host, IRubyObject port) { Ruby runtime = context.runtime; Addrinfo addrinfo = new Addrinfo(runtime, (RubyClass) recv); addrinfo.initializeCommon(context, host, runtime.newFixnum(PF_UNSPEC.intValue()), runtime.newFixnum(Sock.SOCK_DGRAM.intValue()), port); return addrinfo; }
@JRubyMethod(meta = true) public static IRubyObject udp(ThreadContext context, IRubyObject recv, IRubyObject host, IRubyObject port) { Ruby runtime = context.runtime; Addrinfo addrinfo = new Addrinfo(runtime, (RubyClass) recv); addrinfo.initializeCommon(context, host, runtime.newFixnum(PF_UNSPEC.intValue()), runtime.newFixnum(Sock.SOCK_DGRAM.intValue()), port); return addrinfo; }
@JRubyMethod public IRubyObject local_address(ThreadContext context) { Ruby runtime = context.runtime; InetSocketAddress address = getInetSocketAddress(); if (address != null) { SocketType socketType = SocketType.forChannel(getChannel()); return new Addrinfo(runtime, runtime.getClass("Addrinfo"), address, socketType.getSocketType(), socketType); } UnixSocketAddress unix = getUnixSocketAddress(); return Addrinfo.unix(context, runtime.getClass("Addrinfo"), runtime.newString(unix.path())); }
@JRubyMethod public IRubyObject local_address(ThreadContext context) { Ruby runtime = context.runtime; InetSocketAddress address = getInetSocketAddress(); if (address != null) { SocketType socketType = SocketType.forChannel(getChannel()); return new Addrinfo(runtime, runtime.getClass("Addrinfo"), address, socketType.getSocketType(), socketType); } UnixSocketAddress unix = getUnixSocketAddress(); return Addrinfo.unix(context, runtime.getClass("Addrinfo"), runtime.newString(unix.path())); }