public class OpenFile extends java.lang.Object implements Finalizable
Modifier and Type | Class and Description |
---|---|
static class |
OpenFile.Buffer |
static interface |
OpenFile.Finalizer |
static class |
OpenFile.InternalReadStruct |
static class |
OpenFile.InternalWriteStruct |
Modifier and Type | Field and Description |
---|---|
static int |
APPEND |
static int |
BINMODE |
protected java.util.Set<RubyThread> |
blockingThreads |
static int |
BUFSIZ |
OpenFile.Buffer |
cbuf |
static int |
CREATE |
java.nio.channels.FileLock |
currentLock |
static int |
DUPLEX |
IOEncodable.ConvConfig |
encs |
static int |
EOF |
static int |
IO_CBUF_CAPA_MIN |
static int |
IO_RBUF_CAPA_MIN |
static int |
IO_WBUF_CAPA_MIN |
static int |
MORE_CHAR_FINISHED |
static int |
MORE_CHAR_SUSPENDED |
static int |
PIPE_BUF |
static OpenFile.Finalizer |
PIPE_FINALIZE
Deprecated.
|
PosixShim |
posix |
static int |
PREP |
OpenFile.Buffer |
rbuf |
static int |
READABLE |
org.jcodings.transcode.EConv |
readconv |
static int |
READWRITE |
static int |
SETENC_BY_BOM |
java.io.Closeable |
stdio_file |
static int |
SYNC |
static int |
SYNCWRITE |
static int |
TEXTMODE |
RubyIO |
tiedIOForWriting |
static int |
TMPFILE |
static int |
TRUNC |
static int |
TTY |
OpenFile.Buffer |
wbuf |
static int |
WRITABLE |
java.util.concurrent.locks.ReentrantReadWriteLock |
write_lock |
org.jcodings.transcode.EConv |
writeconv |
IRubyObject |
writeconvAsciicompat |
boolean |
writeconvInitialized |
int |
writeconvPreEcflags |
IRubyObject |
writeconvPreEcopts |
static int |
WSPLIT |
static int |
WSPLIT_INITIALIZED |
Constructor and Description |
---|
OpenFile(IRubyObject nil) |
Modifier and Type | Method and Description |
---|---|
void |
addBlockingThread(RubyThread thread)
Add a thread to the list of blocking threads for this IO.
|
int |
appendline(ThreadContext context,
int delim,
ByteList[] strp,
int[] lp) |
void |
ascii8bitBinmode(Ruby runtime) |
long |
binwrite(ThreadContext context,
IRubyObject str,
byte[] ptrBytes,
int ptr,
int len,
boolean nosync) |
java.nio.channels.Channel |
channel() |
void |
checkByteReadable(ThreadContext context) |
void |
checkCharReadable(ThreadContext context) |
void |
checkClosed() |
void |
checkReadable(ThreadContext context) |
void |
checkReopenSeek(ThreadContext context,
Ruby runtime,
long pos) |
void |
checkTTY() |
void |
checkWritable(ThreadContext context) |
void |
cleanup(Ruby runtime,
boolean noraise) |
void |
clearCodeConversion() |
void |
clearReadConversion() |
void |
clearStdio() |
void |
clearTextMode() |
static int |
cloexecDup2(PosixShim posix,
ChannelFD oldfd,
ChannelFD newfd) |
IRubyObject |
doWriteconv(ThreadContext context,
IRubyObject str) |
jnr.constants.platform.Errno |
errno() |
void |
errno(jnr.constants.platform.Errno newErrno) |
ChannelFD |
fd() |
static void |
fdFixCloexec(PosixShim posix,
int fd) |
java.nio.channels.FileChannel |
fileChannel() |
int |
fillbuf(ThreadContext context) |
void |
finalize() |
void |
finalize(ThreadContext context,
boolean noraise) |
void |
finalizeFlush(ThreadContext context,
boolean noraise) |
int |
flushBuffer() |
int |
flushBufferAsync2() |
int |
fread(ThreadContext context,
IRubyObject str,
int offset,
int size) |
long |
fwrite(ThreadContext context,
IRubyObject str,
boolean nosync) |
IRubyObject |
getc(ThreadContext context,
org.jcodings.Encoding enc) |
int |
getFileno() |
OpenFile.Finalizer |
getFinalizer() |
static int |
getFModeFromString(java.lang.String modesString)
Deprecated.
|
IRubyObject |
getlineFast(ThreadContext context,
org.jcodings.Encoding enc,
RubyIO io,
boolean chomp) |
int |
getLineNumber() |
int |
getMode() |
java.lang.String |
getModeAsString(Ruby runtime) |
static int |
getModeFlagsAsIntFrom(int fmode) |
java.lang.String |
getPath() |
long |
getPid() |
java.lang.Process |
getProcess() |
static java.lang.String |
getStringFromMode(int mode) |
void |
incrementLineno(Ruby runtime)
Deprecated.
|
void |
incrementLineno(Ruby runtime,
RubyIO io) |
org.jcodings.Encoding |
inputEncoding(Ruby runtime) |
void |
interruptBlockingThreads(ThreadContext context)
Fire an IOError in all threads blocking on this IO object
|
int |
io_fflush(ThreadContext context) |
int |
IO_RBUF_CAPA_FOR() |
static int |
ioFmodeOflags(int fmode) |
static int |
ioModestrFmode(Ruby runtime,
java.lang.String modestr) |
static int |
ioModestrOflags(Ruby runtime,
java.lang.String modestr) |
static java.lang.String |
ioOflagsModestr(Ruby runtime,
int oflags) |
boolean |
IS_PREP_STDIO() |
boolean |
isAutoclose() |
boolean |
isBinmode() |
boolean |
isBlocking() |
boolean |
isBOM() |
boolean |
isDuplex() |
boolean |
isOpen() |
boolean |
isReadable() |
boolean |
isReadBuffered() |
boolean |
isStdio() |
boolean |
isSync() |
boolean |
isTextMode() |
boolean |
isWritable() |
boolean |
isWriteBuffered() |
boolean |
lock() |
boolean |
lockedByMe() |
void |
makeReadConversion(ThreadContext context) |
void |
makeReadConversion(ThreadContext context,
int size) |
void |
makeWriteConversion(ThreadContext context) |
int |
moreChar(ThreadContext context) |
void |
NEED_NEWLINE_DECORATOR_ON_READ_CHECK() |
boolean |
NEED_NEWLINE_DECORATOR_ON_READ() |
boolean |
NEED_NEWLINE_DECORATOR_ON_WRITE() |
boolean |
needsReadConversion() |
boolean |
needsWriteConversion(ThreadContext context) |
java.lang.String |
PREP_STDIO_NAME() |
static long |
rbW32WriteConsole(RubyString buffer) |
int |
READ_CHAR_PENDING_COUNT() |
int |
READ_CHAR_PENDING_OFF() |
byte[] |
READ_CHAR_PENDING_PTR() |
int |
READ_CHAR_PENDING_START() |
boolean |
READ_CHAR_PENDING() |
void |
READ_CHECK(ThreadContext context) |
boolean |
READ_DATA_BUFFERED() |
int |
READ_DATA_PENDING_COUNT() |
int |
READ_DATA_PENDING_OFF() |
byte[] |
READ_DATA_PENDING_PTR() |
int |
READ_DATA_PENDING_START() |
boolean |
READ_DATA_PENDING() |
IRubyObject |
readAll(ThreadContext context,
int siz,
IRubyObject str) |
int |
readBufferedData(byte[] ptrBytes,
int ptr,
int len) |
java.nio.channels.ReadableByteChannel |
readChannel() |
org.jcodings.Encoding |
readEncoding(Ruby runtime) |
static int |
readInternal(ThreadContext context,
OpenFile fptr,
ChannelFD fd,
byte[] bufBytes,
int buf,
int count) |
int |
readPending() |
boolean |
ready(Ruby runtime,
RubyThread thread,
int ops,
long timeout)
Wait until the channel is available for the given operations or the timeout expires.
|
boolean |
readyNow(ThreadContext context)
Like
ready(org.jruby.Ruby, org.jruby.RubyThread, int, long) but returns a result
immediately. |
int |
remainSize() |
void |
removeBlockingThread(RubyThread thread)
Remove a thread from the list of blocking threads for this IO.
|
long |
seek(ThreadContext context,
long offset,
int whence) |
java.nio.channels.SeekableByteChannel |
seekChannel() |
java.nio.channels.SelectableChannel |
selectChannel() |
void |
SET_BINARY_MODE() |
void |
setAutoclose(boolean autoclose) |
void |
setBinmode() |
void |
setBlock(Ruby runtime) |
void |
setBlocking(Ruby runtime,
boolean blocking) |
void |
setBOM(boolean bom) |
void |
setChannel(java.nio.channels.Channel fd) |
void |
setFD(ChannelFD fd) |
void |
setFinalizer(OpenFile.Finalizer finalizer) |
void |
setLineNumber(int lineNumber) |
void |
setMode(int modes) |
void |
setNonblock(Ruby runtime) |
void |
setPath(java.lang.String path) |
void |
setPid(long pid) |
void |
setProcess(java.lang.Process process) |
void |
setSync(boolean sync) |
void |
setTextMode() |
IRubyObject |
shiftCbuf(ThreadContext context,
int len,
IRubyObject strp) |
java.nio.channels.SocketChannel |
socketChannel() |
boolean |
swallow(ThreadContext context,
int term) |
long |
tell(ThreadContext context) |
int |
threadFlock(ThreadContext context,
int lockMode) |
void |
ungetbyte(ThreadContext context,
IRubyObject str) |
void |
unlock() |
void |
unread(ThreadContext context) |
void |
waitForBlockingThreads(ThreadContext context)
Wait until all blocking threads have exited their blocking area.
|
boolean |
waitReadable(ThreadContext context) |
boolean |
waitReadable(ThreadContext context,
long timeout) |
boolean |
waitWritable(ThreadContext context) |
boolean |
waitWritable(ThreadContext context,
long timeout) |
java.nio.channels.WritableByteChannel |
writeChannel() |
static int |
writeInternal(ThreadContext context,
OpenFile fptr,
ChannelFD fd,
byte[] bufBytes,
int buf,
int count) |
public static final int READABLE
public static final int WRITABLE
public static final int READWRITE
public static final int BINMODE
public static final int SYNC
public static final int TTY
public static final int DUPLEX
public static final int APPEND
public static final int CREATE
public static final int WSPLIT
public static final int WSPLIT_INITIALIZED
public static final int TRUNC
public static final int TEXTMODE
public static final int SETENC_BY_BOM
public static final int TMPFILE
public static final int PREP
public static final int SYNCWRITE
public static final int PIPE_BUF
public static final int BUFSIZ
public java.io.Closeable stdio_file
public volatile java.nio.channels.FileLock currentLock
public IOEncodable.ConvConfig encs
public org.jcodings.transcode.EConv readconv
public org.jcodings.transcode.EConv writeconv
public IRubyObject writeconvAsciicompat
public int writeconvPreEcflags
public IRubyObject writeconvPreEcopts
public boolean writeconvInitialized
public volatile java.util.concurrent.locks.ReentrantReadWriteLock write_lock
public final OpenFile.Buffer wbuf
public final OpenFile.Buffer rbuf
public final OpenFile.Buffer cbuf
public RubyIO tiedIOForWriting
public final PosixShim posix
protected volatile java.util.Set<RubyThread> blockingThreads
@Deprecated public static final OpenFile.Finalizer PIPE_FINALIZE
public static final int MORE_CHAR_SUSPENDED
public static final int MORE_CHAR_FINISHED
public static final int EOF
public static final int IO_RBUF_CAPA_MIN
public static final int IO_CBUF_CAPA_MIN
public static final int IO_WBUF_CAPA_MIN
public OpenFile(IRubyObject nil)
public void ascii8bitBinmode(Ruby runtime)
public void checkReopenSeek(ThreadContext context, Ruby runtime, long pos)
public void clearStdio()
public java.lang.String PREP_STDIO_NAME()
public boolean READ_DATA_PENDING()
public int READ_DATA_PENDING_COUNT()
public byte[] READ_DATA_PENDING_PTR()
public int READ_DATA_PENDING_OFF()
public int READ_DATA_PENDING_START()
public boolean READ_DATA_BUFFERED()
public boolean READ_CHAR_PENDING()
public int READ_CHAR_PENDING_COUNT()
public byte[] READ_CHAR_PENDING_PTR()
public int READ_CHAR_PENDING_OFF()
public int READ_CHAR_PENDING_START()
public void READ_CHECK(ThreadContext context)
public boolean IS_PREP_STDIO()
public void setFD(ChannelFD fd)
public void setChannel(java.nio.channels.Channel fd)
public int getMode()
public java.lang.String getModeAsString(Ruby runtime)
public static int getModeFlagsAsIntFrom(int fmode)
public static java.lang.String ioOflagsModestr(Ruby runtime, int oflags)
public static int ioModestrOflags(Ruby runtime, java.lang.String modestr)
public static int ioFmodeOflags(int fmode)
public static int ioModestrFmode(Ruby runtime, java.lang.String modestr)
public static java.lang.String getStringFromMode(int mode)
public void checkCharReadable(ThreadContext context)
public void checkByteReadable(ThreadContext context)
public void checkReadable(ThreadContext context)
public int io_fflush(ThreadContext context)
public boolean waitWritable(ThreadContext context, long timeout)
public boolean waitWritable(ThreadContext context)
public boolean waitReadable(ThreadContext context, long timeout)
public boolean waitReadable(ThreadContext context)
public boolean ready(Ruby runtime, RubyThread thread, int ops, long timeout)
runtime
- ops
- timeout
- RubyThread.select(java.nio.channels.Channel, OpenFile, int, long)
public boolean readyNow(ThreadContext context)
ready(org.jruby.Ruby, org.jruby.RubyThread, int, long)
but returns a result
immediately.context
- public int flushBuffer()
public int flushBufferAsync2()
public long seek(ThreadContext context, long offset, int whence)
public void checkWritable(ThreadContext context)
public void checkClosed()
public boolean isBinmode()
public boolean isTextMode()
public void setTextMode()
public void clearTextMode()
public void setBinmode()
public boolean isOpen()
public boolean isReadable()
public boolean isWritable()
public boolean isDuplex()
public boolean isReadBuffered()
public boolean isWriteBuffered()
public void setSync(boolean sync)
public boolean isSync()
public void setMode(int modes)
public java.lang.Process getProcess()
public void setProcess(java.lang.Process process)
public long getPid()
public void setPid(long pid)
public int getLineNumber()
public void setLineNumber(int lineNumber)
public java.lang.String getPath()
public void setPath(java.lang.String path)
public boolean isAutoclose()
public void setAutoclose(boolean autoclose)
public OpenFile.Finalizer getFinalizer()
public void setFinalizer(OpenFile.Finalizer finalizer)
public void cleanup(Ruby runtime, boolean noraise)
public void finalize()
finalize
in interface Finalizable
finalize
in class java.lang.Object
public void finalize(ThreadContext context, boolean noraise)
public void finalizeFlush(ThreadContext context, boolean noraise)
public boolean needsReadConversion()
public boolean needsWriteConversion(ThreadContext context)
public void makeReadConversion(ThreadContext context, int size)
public void makeReadConversion(ThreadContext context)
public void makeWriteConversion(ThreadContext context)
public void clearReadConversion()
public void clearCodeConversion()
public int IO_RBUF_CAPA_FOR()
public int appendline(ThreadContext context, int delim, ByteList[] strp, int[] lp)
public void NEED_NEWLINE_DECORATOR_ON_READ_CHECK()
public boolean NEED_NEWLINE_DECORATOR_ON_READ()
public boolean NEED_NEWLINE_DECORATOR_ON_WRITE()
public int moreChar(ThreadContext context)
public int readBufferedData(byte[] ptrBytes, int ptr, int len)
public int fillbuf(ThreadContext context)
public static int readInternal(ThreadContext context, OpenFile fptr, ChannelFD fd, byte[] bufBytes, int buf, int count)
public org.jcodings.Encoding readEncoding(Ruby runtime)
public org.jcodings.Encoding inputEncoding(Ruby runtime)
public boolean swallow(ThreadContext context, int term)
public IRubyObject shiftCbuf(ThreadContext context, int len, IRubyObject strp)
public IRubyObject getlineFast(ThreadContext context, org.jcodings.Encoding enc, RubyIO io, boolean chomp)
@Deprecated public void incrementLineno(Ruby runtime)
public IRubyObject readAll(ThreadContext context, int siz, IRubyObject str)
public int fread(ThreadContext context, IRubyObject str, int offset, int size)
public void ungetbyte(ThreadContext context, IRubyObject str)
public IRubyObject getc(ThreadContext context, org.jcodings.Encoding enc)
public long tell(ThreadContext context)
public void unread(ThreadContext context)
public long fwrite(ThreadContext context, IRubyObject str, boolean nosync)
public static long rbW32WriteConsole(RubyString buffer)
public IRubyObject doWriteconv(ThreadContext context, IRubyObject str)
public long binwrite(ThreadContext context, IRubyObject str, byte[] ptrBytes, int ptr, int len, boolean nosync)
public static int writeInternal(ThreadContext context, OpenFile fptr, ChannelFD fd, byte[] bufBytes, int buf, int count)
public ChannelFD fd()
public java.nio.channels.Channel channel()
public java.nio.channels.ReadableByteChannel readChannel()
public java.nio.channels.WritableByteChannel writeChannel()
public java.nio.channels.SeekableByteChannel seekChannel()
public java.nio.channels.SelectableChannel selectChannel()
public java.nio.channels.FileChannel fileChannel()
public java.nio.channels.SocketChannel socketChannel()
public void setNonblock(Ruby runtime)
public void setBlock(Ruby runtime)
public void setBlocking(Ruby runtime, boolean blocking)
public boolean isBlocking()
public void checkTTY()
public boolean isBOM()
public void setBOM(boolean bom)
public boolean isStdio()
public int readPending()
@Deprecated public static int getFModeFromString(java.lang.String modesString) throws InvalidValueException
InvalidValueException
public int getFileno()
public int threadFlock(ThreadContext context, int lockMode)
public jnr.constants.platform.Errno errno()
public void errno(jnr.constants.platform.Errno newErrno)
public static void fdFixCloexec(PosixShim posix, int fd)
public void addBlockingThread(RubyThread thread)
thread
- A thread blocking on this IOpublic void removeBlockingThread(RubyThread thread)
thread
- A thread blocking on this IOpublic void interruptBlockingThreads(ThreadContext context)
public void waitForBlockingThreads(ThreadContext context)
public void SET_BINARY_MODE()
public int remainSize()
public boolean lock()
public void unlock()
public boolean lockedByMe()
Copyright © 2001-2018 JRuby. All Rights Reserved.