Package org.jruby.ext.socket
Class RubyBasicSocket
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.RubyIO
org.jruby.ext.socket.RubyBasicSocket
- All Implemented Interfaces:
Closeable,Flushable,Serializable,AutoCloseable,Cloneable,Comparable<IRubyObject>,InstanceVariables,InternalVariables,IRubyObject,CoreObjectType,IOEncodable
- Direct Known Subclasses:
RubyIPSocket,RubySocket,RubyUNIXSocket
Implementation of the BasicSocket class from Ruby.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceprotected static classNested classes/interfaces inherited from class org.jruby.RubyIO
RubyIO.SysopenNested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.DataNested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.FinalizerNested classes/interfaces inherited from interface org.jruby.util.io.IOEncodable
IOEncodable.ConvConfig -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate static final ByteList(package private) static final String[]protected MulticastStateManager(package private) static final RubyBasicSocket.LibCFields inherited from class org.jruby.RubyIO
CLOSED_STREAM_MSG, FD_CLOEXEC, openFile, PARAGRAPH_SEPARATOR, popenSpecialFields inherited from class org.jruby.RubyObject
IVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_ALLOCATOR, REIFYING_OBJECT_ALLOCATORFields inherited from class org.jruby.RubyBasicObject
ALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, IS_OVERLAID_F, metaClass, NEVER, NIL_F, REFINED_MODULE_F, STAMP_OFFSET, TAINTED_F, UNDEF, UNTRUST_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F, USER9_F, USERA_F, VAR_TABLE_OFFSET, varTable, varTableStampFields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected IRubyObjectaddrFor(ThreadContext context, InetSocketAddress addr, boolean reverse) protected booleanasBoolean(ThreadContext context, IRubyObject val) private static intasNumber(ThreadContext context, IRubyObject val) protected static StringbindContextMessage(IRubyObject host, int port) close_read(ThreadContext context) close_write(ThreadContext context) private IRubyObjectcloseHalf(ThreadContext context, int closeHalf) (package private) static voidcreateBasicSocket(Ruby runtime) static IRubyObjectDeprecated.static IRubyObjectdo_not_reverse_lookup(ThreadContext context, IRubyObject recv) do_not_reverse_lookup19(ThreadContext context) booleandoNotReverseLookup(ThreadContext context) protected ByteListdoRead(ThreadContext context, ByteBuffer buffer) protected final ByteListdoReadNonblock(ThreadContext context, ByteBuffer buffer, boolean exception) private IRubyObjectdoSend(ThreadContext context, IRubyObject _mesg, IRubyObject _flags, IRubyObject _to) (package private) static booleanextractExceptionArg(ThreadContext context, IRubyObject opts) static IRubyObjectfor_fd(ThreadContext context, IRubyObject _klass, IRubyObject _fileno) protected InetSocketAddressprotected InetSocketAddressprivate Channelgetpeereid(ThreadContext context) Deprecated.getpeername(ThreadContext context) protected SocketAddressprotected SocketAddressDeprecated.getsockname(ThreadContext context) protected IRubyObjectgetSocknameCommon(ThreadContext context, String caller) getsockopt(IRubyObject lev, IRubyObject optname) Deprecated.getsockopt(ThreadContext context, IRubyObject _level, IRubyObject _opt) protected jnr.unixsocket.UnixSocketAddressprotected jnr.unixsocket.UnixSocketAddressprivate IRubyObjecthandleReturnBytes(Ruby runtime, ByteList bytes, IRubyObject str, String exMessage, boolean exception) protected voidinitSocket(ChannelFD fd) private voidlocal_address(ThreadContext context) protected static ChannelFDnewChannelFD(Ruby runtime, Channel channel) read_nonblock(ThreadContext context, IRubyObject[] args) recv(IRubyObject[] args) Deprecated.recv(ThreadContext context, IRubyObject length) recv(ThreadContext context, IRubyObject[] args) private IRubyObjectrecv(ThreadContext context, IRubyObject length, RubyString str, IRubyObject flags) recv_nonblock(ThreadContext context, IRubyObject[] args) recvmsg(ThreadContext context, IRubyObject[] args) recvmsg_nonblock(ThreadContext context, IRubyObject[] args) remote_address(ThreadContext context) send(ThreadContext context, IRubyObject _mesg, IRubyObject _flags) send(ThreadContext context, IRubyObject _mesg, IRubyObject _flags, IRubyObject _to) sendmsg(ThreadContext context, IRubyObject[] args) sendmsg_nonblock(ThreadContext context, IRubyObject[] args) static IRubyObjectset_do_not_reverse_lookup(IRubyObject recv, IRubyObject flag) Deprecated.static IRubyObjectset_do_not_reverse_lookup(ThreadContext context, IRubyObject recv, IRubyObject flag) set_do_not_reverse_lookup19(ThreadContext context, IRubyObject flag) setsockopt(IRubyObject lev, IRubyObject optname, IRubyObject val) Deprecated.setsockopt(ThreadContext context, IRubyObject option) setsockopt(ThreadContext context, IRubyObject _level, IRubyObject _opt, IRubyObject val) shutdown(ThreadContext context, IRubyObject[] args) private static IRubyObjectshutdownInternal(ThreadContext context, OpenFile fptr, int how) (package private) static RuntimeExceptionprivate static intstringAsNumber(ThreadContext context, IRubyObject val) private booleanvalidTcpSockOpt(int intOpt) Methods inherited from class org.jruby.RubyIO
addBlockingThread, advise, autoclose, autoclose_set, binmode, binread, binwrite, bytes, chars, chars19, checkExecEnv, checkExecOptions, checkLength, checkPopenOptions, checkSpawnOptions, cloexecOpen, close, close, close_on_exec_p, close_on_exec_set, closed_p, codepoints, convertToIO, copy_stream, createIOClass, doRead, doReadNonblock, doWriteNonblock, each, each, each, each, each, each_byte, each_byteInternal, each_char, each_char19, each_charInternal, each_codepoint, each_line, each_line, each_line, each_line, each_line, ensureYieldClose, ensureYieldClosePipes, eof_p, external_encoding, failIfDirectory, fcntl, fcntl, fileno, flush, flush, flushRaw, for_fd, foreach, fsync, getBlocking, getBOM, getbyte, getByte, getc, getc, getc19, getChannel, getEcflags, getEcopts, getEnc, getEnc2, getInputEncoding, getInStream, getIOModes, getIOModesIntFromString, getline, getline, getline, getline, getline, getline, getNativeClassIndex, getOpenFile, getOpenFileChecked, getOpenFileInitialized, getOutStream, getReadEncoding, gets, gets, gets, gets, getSync, GetWriteIO, initialize, initialize, initialize, initialize_copy, inspect, internal_encoding, ioClose, ioctl, ioOpen, ioOpen, ioStaticWrite, isAutoclose, isClosed, lineno, lineno_set, lines, lines19, MakeOpenFile, newInstance, newIO, newIOOptions, newIOOptions, newIOOptions, newIOOptions, newIOOptions, newModeFlags, newModeFlags, newModeFlags, obliterateProcess, op_append, op_binmode, open, parseIOOptions, pid, pipe, pipe, pipe19, pipe19, pipe19, popen, popen3, popen4, popenSpecial, pos, pos_set, pread, pread, prepStdio, prepStdio, print, print, printf, putc, putc, puts, puts, puts, puts, puts, puts, puts0, puts1, puts2, puts3, pwrite, rbIoClose, read, read, read, read, read, read, read, read19, readbyte, readchar, readchar, readline, readline, readline, readlines, readlines, readlines, readlines, readlines, readlines, readlines19, readlines19, readpartial, removeBlockingThread, reopen, reopenIO, rewind, seek, seek, seek, select, select_static, set_encoding, set_encoding, set_encoding, setAscii8bitBinmode, setAutoclose, setBlocking, setBOM, setEcflags, setEcopts, setEnc, setEnc2, setEncoding, setSync, stat, sync, sync_set, sysopen, sysopen, sysopen, sysopen19, sysread, sysseek, syswrite, to_io, toJava, toString, tryConvert, tty_p, ungetbyte, ungetc, updateIOOptionsFromOptions, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write, write_nonblock, writeStaticMethods inherited from class org.jruby.RubyObject
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, dig, dig1, dig2, eqlInternal, equalInternal, equals, hashCode, inspect, op_eqq, puts, specificEval, toRubyStringMethods inherited from class org.jruby.RubyBasicObject
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, decode, display, dup, ensureInstanceVariablesSettable, eql, eql_p, equal_p, equal_p19, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, freeze, frozen_p, getFFIHandle, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getMetaClass, getNativeHandle, getNativeTypeIndex, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getSingletonClassCloneAndAttach, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInstanceVariables, hasInternalVariable, hasVariables, id, infectBy, initialize, initialize19, inspectHashCode, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval19, instance_eval19, instance_eval19, instance_eval19, instance_exec, instance_exec19, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, instance_variables19, isBuiltin, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isSpecialConst, isSpecialObject, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method, method_missing, method_missing19, method19, methods, methods, methods19, nil_p, nonFixnumHashCode, OBJ_INIT_COPY, objInitCopy, op_cmp, op_equal, op_equal_19, op_match, op_match19, op_not, op_not_equal, op_not_match, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, rbClone, rbInspect, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respond_to_p19, respond_to_p19, respondsTo, respondsToMissing, respondsToMissing, send, send, send, send, send, send19, send19, send19, send19, setFFIHandle, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setNativeHandle, setTaint, setUntrusted, setVariable, singleton_method, singleton_method_added, singleton_method_added19, singleton_method_removed, singleton_method_removed19, singleton_method_undefined, singleton_method_undefined19, singleton_methods, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_a, to_s, trust, type, type_deprecated, untaint, untrust, untrusted_p, validateInstanceVariable, validateInstanceVariable, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnder
-
Field Details
-
libnames
-
SOCKOPT
-
FORMAT_SMALL_I
-
multicastStateManager
-
doNotReverseLookup
private boolean doNotReverseLookup
-
-
Constructor Details
-
RubyBasicSocket
-
-
Method Details
-
createBasicSocket
-
for_fd
-
do_not_reverse_lookup19
-
set_do_not_reverse_lookup19
-
do_not_reverse_lookup
-
set_do_not_reverse_lookup
public static IRubyObject set_do_not_reverse_lookup(ThreadContext context, IRubyObject recv, IRubyObject flag) -
send
-
send
public IRubyObject send(ThreadContext context, IRubyObject _mesg, IRubyObject _flags, IRubyObject _to) -
doSend
private IRubyObject doSend(ThreadContext context, IRubyObject _mesg, IRubyObject _flags, IRubyObject _to) -
recv
-
recv
-
recv
private IRubyObject recv(ThreadContext context, IRubyObject length, RubyString str, IRubyObject flags) -
recv_nonblock
-
handleReturnBytes
private IRubyObject handleReturnBytes(Ruby runtime, ByteList bytes, IRubyObject str, String exMessage, boolean exception) -
read_nonblock
- Overrides:
read_nonblockin classRubyIO
-
getsockopt
-
setsockopt
-
setsockopt
public IRubyObject setsockopt(ThreadContext context, IRubyObject _level, IRubyObject _opt, IRubyObject val) -
getsockname
-
getpeername
-
getpeereid
-
local_address
-
remote_address
-
shutdown
-
close_write
- Overrides:
close_writein classRubyIO
-
close_read
- Overrides:
close_readin classRubyIO
-
closeHalf
-
sendmsg
-
sendmsg_nonblock
-
recvmsg
-
recvmsg_nonblock
-
doRead
-
doReadNonblock
protected final ByteList doReadNonblock(ThreadContext context, ByteBuffer buffer, boolean exception) -
joinMulticastGroup
- Throws:
IOExceptionBadDescriptorException
-
getInetSocketAddress
-
getInetRemoteSocket
-
getUnixSocketAddress
protected jnr.unixsocket.UnixSocketAddress getUnixSocketAddress() -
getUnixRemoteSocket
protected jnr.unixsocket.UnixSocketAddress getUnixRemoteSocket() -
getSocketAddress
-
getRemoteSocket
-
getSocknameCommon
-
validTcpSockOpt
private boolean validTcpSockOpt(int intOpt) -
shutdownInternal
-
doNotReverseLookup
-
newChannelFD
-
initSocket
-
getOpenChannel
-
sockerr
-
extractExceptionArg
-
asNumber
-
stringAsNumber
-
asBoolean
-
addrFor
-
bindContextMessage
-
recv
Deprecated. -
getsockopt
Deprecated. -
setsockopt
Deprecated. -
getsockname
Deprecated. -
getpeername
Deprecated. -
do_not_reverse_lookup
Deprecated. -
set_do_not_reverse_lookup
Deprecated.
-