static SocketLevel levelFromArg(IRubyObject level) { IRubyObject maybeString = TypeConverter.checkStringType(level.getRuntime(), level); if (!maybeString.isNil()) { level = maybeString; } try { if (level instanceof RubyString || level instanceof RubySymbol) { String levelString = level.toString(); if(levelString.startsWith("SOL_")) return SocketLevel.valueOf(levelString); return SocketLevel.valueOf("SOL_" + levelString); } return SocketLevel.valueOf(RubyNumeric.fix2int(level)); } catch (IllegalArgumentException iae) { throw SocketUtils.sockerr(level.getRuntime(), "invalid socket level: " + level); } }
static SocketLevel levelFromArg(IRubyObject level) { IRubyObject maybeString = TypeConverter.checkStringType(level.getRuntime(), level); if (!maybeString.isNil()) { level = maybeString; } try { if (level instanceof RubyString || level instanceof RubySymbol) { String levelString = level.toString(); if(levelString.startsWith("SOL_")) return SocketLevel.valueOf(levelString); return SocketLevel.valueOf("SOL_" + levelString); } return SocketLevel.valueOf(RubyNumeric.fix2int(level)); } catch (IllegalArgumentException iae) { throw SocketUtils.sockerr(level.getRuntime(), "invalid socket level: " + level); } }
@JRubyMethod(required = 4) public IRubyObject initialize(ThreadContext context, IRubyObject[] args) { family = ProtocolFamily.valueOf(args[0].convertToInteger().getLongValue()); level = SocketLevel.valueOf(args[1].convertToInteger().getLongValue()); option = SocketOption.valueOf(args[2].convertToInteger().getLongValue()); data = args[3].convertToString().getByteList(); intData = Pack.unpackInt_i(ByteBuffer.wrap(data.bytes())); return context.nil; }
@JRubyMethod(required = 4) public IRubyObject initialize(ThreadContext context, IRubyObject[] args) { family = ProtocolFamily.valueOf(args[0].convertToInteger().getLongValue()); level = SocketLevel.valueOf(args[1].convertToInteger().getLongValue()); option = SocketOption.valueOf(args[2].convertToInteger().getLongValue()); data = args[3].convertToString().getByteList(); intData = Pack.unpackInt_i(ByteBuffer.wrap(data.bytes())); return context.nil; }