Package org.jruby.ext.socket
Class RubySocket
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.RubyIO
org.jruby.ext.socket.RubyBasicSocket
org.jruby.ext.socket.RubySocket
- All Implemented Interfaces:
Closeable,Flushable,Serializable,AutoCloseable,Cloneable,Comparable<IRubyObject>,InstanceVariables,InternalVariables,IRubyObject,CoreObjectType,IOEncodable
- Direct Known Subclasses:
RubyServerSocket
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jruby.ext.socket.RubyBasicSocket
RubyBasicSocket.LibC, RubyBasicSocket.ReceiveTupleNested 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 static final Patternprivate static final Patternprivate static final Stringprotected jnr.constants.platform.AddressFamilyprotected jnr.netdb.Protocolprotected jnr.constants.platform.ProtocolFamilyprotected jnr.constants.platform.SockFields inherited from class org.jruby.ext.socket.RubyBasicSocket
libnames, multicastStateManager, SOCKOPTFields 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 TypeMethodDescriptionaccept(ThreadContext context) accept_nonblock(ThreadContext context, IRubyObject[] args) private SocketAddressaddressForChannel(ThreadContext context, IRubyObject arg) protected IRubyObjectaddrFor(ThreadContext context, InetSocketAddress addr, boolean reverse) bind(ThreadContext context, IRubyObject arg) (package private) static RaiseExceptionbuildSocketException(Ruby runtime, SocketException ex, String caller, SocketAddress addr) close(ThreadContext context) Closes all open resources for the IO.closed_p(ThreadContext context) connect(ThreadContext context, IRubyObject arg) connect_nonblock(ThreadContext context, IRubyObject arg) connect_nonblock(ThreadContext context, IRubyObject arg, IRubyObject opts) (package private) static voidcreateSocket(Ruby runtime) protected voiddoBind(ThreadContext context, SocketAddress iaddr) protected IRubyObjectdoConnect(ThreadContext context, SocketAddress addr, boolean ex) private IRubyObjectdoConnectNonblock(ThreadContext context, SocketAddress addr, boolean ex) static IRubyObjectfor_fd(ThreadContext context, IRubyObject socketClass, IRubyObject _fd) private static CharSequenceformatAddress(SocketAddress addr) static IRubyObjectgetaddrinfo(ThreadContext context, IRubyObject recv, IRubyObject[] args) static IRubyObjectgethostbyaddr(ThreadContext context, IRubyObject recv, IRubyObject[] args) static IRubyObjectgethostbyname(ThreadContext context, IRubyObject recv, IRubyObject hostname) static IRubyObjectgethostname(ThreadContext context, IRubyObject recv) static IRubyObjectgetifaddrs(ThreadContext context, IRubyObject recv) static IRubyObjectgetnameinfo(ThreadContext context, IRubyObject recv, IRubyObject[] args) static IRubyObjectgetservbyname(ThreadContext context, IRubyObject recv, IRubyObject[] args) protected SocketAddressprotected ChannelFDinitChannelFD(Ruby runtime) private voidinitFieldsFromDescriptor(Ruby runtime, ChannelFD fd) private voidinitFromArgs(Ruby runtime, IRubyObject domain, IRubyObject type) private voidinitFromArgs(Ruby runtime, IRubyObject domain, IRubyObject type, IRubyObject protocol) protected voidinitFromServer(Ruby runtime, RubySocket serverSocket, SocketChannel socketChannel) initialize(ThreadContext context, IRubyObject domain, IRubyObject type) initialize(ThreadContext context, IRubyObject domain, IRubyObject type, IRubyObject protocol) static IRubyObjectip_address_list(ThreadContext context, IRubyObject self) listen(ThreadContext context, IRubyObject backlog) static IRubyObjectpack_sockaddr_in(ThreadContext context, IRubyObject recv, IRubyObject port, IRubyObject host) static IRubyObjectpack_sockaddr_un(ThreadContext context, IRubyObject recv, IRubyObject filename) recvfrom(ThreadContext context, IRubyObject _length) recvfrom(ThreadContext context, IRubyObject _length, IRubyObject _flags) Overrides IPSocket#recvfromrecvfrom_nonblock(ThreadContext context, IRubyObject[] args) private voidsetDomain(Ruby runtime, IRubyObject domain) private voidsetProtocol(IRubyObject protocol) private voidsetType(Ruby runtime, IRubyObject type) static RuntimeExceptionDeprecated.static IRubyObjectsocketpair(ThreadContext context, IRubyObject recv, IRubyObject domain, IRubyObject type) static IRubyObjectsocketpair(ThreadContext context, IRubyObject recv, IRubyObject domain, IRubyObject type, IRubyObject protocol) private booleantryConnect(ThreadContext context, Ruby runtime, Channel channel, SocketAddress addr, boolean ex, boolean blocking) static IRubyObjectunpack_sockaddr_in(ThreadContext context, IRubyObject recv, IRubyObject addr) static IRubyObjectunpack_sockaddr_un(ThreadContext context, IRubyObject recv, IRubyObject addr) Methods inherited from class org.jruby.ext.socket.RubyBasicSocket
asBoolean, bindContextMessage, close_read, close_write, createBasicSocket, do_not_reverse_lookup, do_not_reverse_lookup, do_not_reverse_lookup19, doNotReverseLookup, doRead, doReadNonblock, extractExceptionArg, getInetRemoteSocket, getInetSocketAddress, getpeereid, getpeername, getpeername, getRemoteSocket, getsockname, getsockname, getSocknameCommon, getsockopt, getsockopt, getUnixRemoteSocket, getUnixSocketAddress, initSocket, local_address, newChannelFD, read_nonblock, recv, recv, recv, recv_nonblock, recvmsg, recvmsg_nonblock, remote_address, send, send, sendmsg, sendmsg_nonblock, set_do_not_reverse_lookup, set_do_not_reverse_lookup, set_do_not_reverse_lookup19, setsockopt, setsockopt, setsockopt, shutdown, sockerrMethods 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_on_exec_p, close_on_exec_set, 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
-
ALREADY_BOUND_PATTERN
-
ADDR_NOT_AVAIL_PATTERN
-
soDomain
protected jnr.constants.platform.AddressFamily soDomain -
soProtocolFamily
protected jnr.constants.platform.ProtocolFamily soProtocolFamily -
soType
protected jnr.constants.platform.Sock soType -
soProtocol
protected jnr.netdb.Protocol soProtocol -
JRUBY_SERVER_SOCKET_ERROR
- See Also:
-
-
Constructor Details
-
RubySocket
-
-
Method Details
-
createSocket
-
for_fd
-
initialize
-
initialize
public IRubyObject initialize(ThreadContext context, IRubyObject domain, IRubyObject type, IRubyObject protocol) -
connect_nonblock
-
connect_nonblock
-
connect
-
bind
-
recvfrom
-
recvfrom
Overrides IPSocket#recvfrom -
recvfrom_nonblock
-
listen
-
accept
-
accept_nonblock
-
gethostname
-
getifaddrs
-
gethostbyaddr
public static IRubyObject gethostbyaddr(ThreadContext context, IRubyObject recv, IRubyObject[] args) -
getservbyname
public static IRubyObject getservbyname(ThreadContext context, IRubyObject recv, IRubyObject[] args) -
pack_sockaddr_in
public static IRubyObject pack_sockaddr_in(ThreadContext context, IRubyObject recv, IRubyObject port, IRubyObject host) -
unpack_sockaddr_in
public static IRubyObject unpack_sockaddr_in(ThreadContext context, IRubyObject recv, IRubyObject addr) -
pack_sockaddr_un
public static IRubyObject pack_sockaddr_un(ThreadContext context, IRubyObject recv, IRubyObject filename) -
unpack_sockaddr_un
public static IRubyObject unpack_sockaddr_un(ThreadContext context, IRubyObject recv, IRubyObject addr) -
gethostbyname
public static IRubyObject gethostbyname(ThreadContext context, IRubyObject recv, IRubyObject hostname) -
getaddrinfo
-
getnameinfo
-
ip_address_list
-
socketpair
public static IRubyObject socketpair(ThreadContext context, IRubyObject recv, IRubyObject domain, IRubyObject type, IRubyObject protocol) -
socketpair
public static IRubyObject socketpair(ThreadContext context, IRubyObject recv, IRubyObject domain, IRubyObject type) -
initFieldsFromDescriptor
-
initFromArgs
-
initFromArgs
-
initFromServer
-
initChannelFD
-
setProtocol
-
setType
-
setDomain
-
doConnectNonblock
-
doConnect
-
tryConnect
private boolean tryConnect(ThreadContext context, Ruby runtime, Channel channel, SocketAddress addr, boolean ex, boolean blocking) -
doBind
-
buildSocketException
static RaiseException buildSocketException(Ruby runtime, SocketException ex, String caller, SocketAddress addr) -
formatAddress
-
addressForChannel
-
addrFor
- Overrides:
addrForin classRubyBasicSocket
-
close
Description copied from class:RubyIOCloses all open resources for the IO. It also removes it from our magical all open file descriptor pool.
-
closed_p
-
getSocketAddress
- Overrides:
getSocketAddressin classRubyBasicSocket
-
sockerr
Deprecated.
-