|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jruby.util.io.ChannelStream
public class ChannelStream
This file implements a seekable IO file.
| Field Summary | |
|---|---|
protected java.nio.ByteBuffer |
buffer
|
static int |
BUFSIZE
The size of the read/write buffer allocated for this stream. |
protected ModeFlags |
modes
|
protected boolean |
reading
|
protected boolean |
sync
|
protected int |
ungotc
|
| Fields inherited from interface org.jruby.util.io.Stream |
|---|
PARAGRAPH_DELIMETER, PARAGRAPH_SEPARATOR, SEEK_CUR, SEEK_END, SEEK_SET |
| Method Summary | |
|---|---|
void |
checkPermissionsSubsetOf(ModeFlags subsetModes)
|
void |
checkReadable()
|
void |
checkWritable()
|
void |
clearerr()
|
void |
fclose()
Closes IO handler resources. |
static Stream |
fdopen(Ruby runtime,
ChannelDescriptor descriptor,
ModeFlags modes)
|
static Stream |
fdopen(Ruby runtime,
ChannelDescriptor descriptor,
ModeFlags modes,
boolean autoclose)
|
boolean |
feof()
Return true when at end of file (EOF). |
int |
fflush()
|
int |
fgetc()
|
long |
fgetpos()
Get the current position within the file associated with this handler. |
org.jruby.util.ByteList |
fgets(org.jruby.util.ByteList separatorString)
|
void |
finalize()
Ensure close (especially flush) when we're finished with. |
static Stream |
fopen(Ruby runtime,
java.lang.String path,
ModeFlags modes)
|
void |
fputc(int c)
|
org.jruby.util.ByteList |
fread(int number)
|
void |
freopen(Ruby runtime,
java.lang.String path,
ModeFlags modes)
|
void |
ftruncate(long newLength)
|
int |
fwrite(org.jruby.util.ByteList string)
|
java.nio.channels.Channel |
getChannel()
|
ChannelDescriptor |
getDescriptor()
|
int |
getline(org.jruby.util.ByteList dst,
byte terminator)
Read all bytes up to and including a terminator byte. |
int |
getline(org.jruby.util.ByteList dst,
byte terminator,
long limit)
Reads all bytes up to and including a terminator byte or until limit is reached. |
ModeFlags |
getModes()
|
Ruby |
getRuntime()
|
boolean |
isAutoclose()
|
boolean |
isBlocking()
|
boolean |
isSync()
|
void |
lseek(long offset,
int type)
Implementation of libc "lseek", which seeks on seekable streams, raises EPIPE if the fd is assocated with a pipe, socket, or FIFO, and doesn't do anything for other cases (like stdio). |
java.io.InputStream |
newInputStream()
|
java.io.OutputStream |
newOutputStream()
|
static Stream |
open(Ruby runtime,
ChannelDescriptor descriptor)
|
static Stream |
open(Ruby runtime,
ChannelDescriptor descriptor,
boolean autoclose)
|
int |
read()
|
int |
read(java.nio.ByteBuffer dst)
|
int |
read(java.nio.ByteBuffer dst,
boolean partial)
|
org.jruby.util.ByteList |
read(int number)
|
org.jruby.util.ByteList |
readall()
Deprecated. readall do busy loop for the IO which has NONBLOCK bit. You should implement the logic by yourself with fread(). |
boolean |
readDataBuffered()
|
org.jruby.util.ByteList |
readnonblock(int number)
|
org.jruby.util.ByteList |
readpartial(int number)
|
int |
ready()
Implement IO#ready? as per io/wait in MRI. |
void |
setAutoclose(boolean autoclose)
|
void |
setBinmode()
|
void |
setBlocking(boolean block)
|
void |
setSync(boolean sync)
|
void |
sync()
Flush and sync all writes to the filesystem. |
int |
ungetc(int c)
|
void |
waitUntilReady()
Implement IO#wait as per io/wait in MRI. |
int |
write(java.nio.ByteBuffer buf)
|
boolean |
writeDataBuffered()
|
int |
writenonblock(org.jruby.util.ByteList buf)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int BUFSIZE
protected ModeFlags modes
protected boolean sync
protected volatile java.nio.ByteBuffer buffer
protected boolean reading
protected int ungotc
| Method Detail |
|---|
public Ruby getRuntime()
public void checkReadable()
throws java.io.IOException
java.io.IOException
public void checkWritable()
throws java.io.IOException
java.io.IOExceptionpublic void checkPermissionsSubsetOf(ModeFlags subsetModes)
public ModeFlags getModes()
getModes in interface Streampublic boolean isSync()
isSync in interface Streampublic void setSync(boolean sync)
setSync in interface Streampublic void setBinmode()
setBinmode in interface Streampublic boolean isAutoclose()
isAutoclose in interface Streampublic void setAutoclose(boolean autoclose)
setAutoclose in interface Stream
public void waitUntilReady()
throws java.io.IOException,
java.lang.InterruptedException
waitUntilReady in interface Streamjava.io.IOException
java.lang.InterruptedExceptionpublic boolean readDataBuffered()
readDataBuffered in interface Streampublic boolean writeDataBuffered()
writeDataBuffered in interface Stream
public org.jruby.util.ByteList fgets(org.jruby.util.ByteList separatorString)
throws java.io.IOException,
BadDescriptorException
fgets in interface Streamjava.io.IOException
BadDescriptorException
public int getline(org.jruby.util.ByteList dst,
byte terminator)
throws java.io.IOException,
BadDescriptorException
StreamIf the terminator byte is found, it will be the last byte in the output buffer.
getline in interface Streamdst - The output buffer.terminator - The byte to terminate reading.
java.io.IOException
BadDescriptorException
public int getline(org.jruby.util.ByteList dst,
byte terminator,
long limit)
throws java.io.IOException,
BadDescriptorException
StreamIf the terminator byte is found, it will be the last byte in the output buffer.
getline in interface Streamdst - The output buffer.terminator - The byte to terminate reading.limit - the number of bytes to read unless EOF or terminator is found
java.io.IOException
BadDescriptorException
@Deprecated
public org.jruby.util.ByteList readall()
throws java.io.IOException,
BadDescriptorException
readall in interface Streamjava.io.IOException
BadDescriptorException
public void fclose()
throws java.io.IOException,
BadDescriptorException
fclose in interface Streamjava.io.IOException
BadDescriptorException
public int fflush()
throws java.io.IOException,
BadDescriptorException
fflush in interface Streamjava.io.IOException
BadDescriptorExceptionpublic java.io.InputStream newInputStream()
newInputStream in interface Streamorg.jruby.util.IOHandler#getInputStream()public java.io.OutputStream newOutputStream()
newOutputStream in interface Streamorg.jruby.util.IOHandler#getOutputStream()public void clearerr()
clearerr in interface Stream
public boolean feof()
throws java.io.IOException,
BadDescriptorException
StreamReturn true when at end of file (EOF).
feof in interface Streamjava.io.IOException
BadDescriptorExceptionorg.jruby.util.IOHandler#isEOF()
public long fgetpos()
throws java.io.IOException,
PipeException,
InvalidValueException,
BadDescriptorException
StreamGet the current position within the file associated with this handler.
fgetpos in interface Streamjava.io.IOException
PipeException - ESPIPE (illegal seek) when not a file
InvalidValueException
BadDescriptorExceptionorg.jruby.util.IOHandler#pos()
public void lseek(long offset,
int type)
throws java.io.IOException,
InvalidValueException,
PipeException,
BadDescriptorException
lseek in interface Streamjava.io.IOException
InvalidValueException
PipeException
BadDescriptorExceptionorg.jruby.util.IOHandler#seek(long, int)
public void sync()
throws java.io.IOException,
BadDescriptorException
StreamFlush and sync all writes to the filesystem.
sync in interface Streamjava.io.IOException - if the sync does not work
BadDescriptorExceptionorg.jruby.util.IOHandler#sync()
public org.jruby.util.ByteList read(int number)
throws java.io.IOException,
BadDescriptorException
read in interface Streamjava.io.IOException
BadDescriptorException
public void ftruncate(long newLength)
throws java.io.IOException,
BadDescriptorException,
InvalidValueException
ftruncate in interface Streamjava.io.IOException
BadDescriptorException
InvalidValueException
public void finalize()
throws java.lang.Throwable
finalize in interface Finalizablefinalize in class java.lang.Objectjava.lang.Throwable
public int ready()
throws java.io.IOException
Stream
ready in interface Streamjava.io.IOException
public void fputc(int c)
throws java.io.IOException,
BadDescriptorException
fputc in interface Streamjava.io.IOException
BadDescriptorExceptionpublic int ungetc(int c)
ungetc in interface Stream
public int fgetc()
throws java.io.IOException,
BadDescriptorException
fgetc in interface Streamjava.io.IOException
BadDescriptorException
public int fwrite(org.jruby.util.ByteList string)
throws java.io.IOException,
BadDescriptorException
fwrite in interface Streamjava.io.IOException
BadDescriptorException
public int write(java.nio.ByteBuffer buf)
throws java.io.IOException,
BadDescriptorException
java.io.IOException
BadDescriptorException
public int writenonblock(org.jruby.util.ByteList buf)
throws java.io.IOException,
BadDescriptorException
java.io.IOException
BadDescriptorException
public org.jruby.util.ByteList fread(int number)
throws java.io.IOException,
BadDescriptorException
fread in interface Streamjava.io.IOException
BadDescriptorException
public org.jruby.util.ByteList readnonblock(int number)
throws java.io.IOException,
BadDescriptorException,
java.io.EOFException
java.io.IOException
BadDescriptorException
java.io.EOFException
public org.jruby.util.ByteList readpartial(int number)
throws java.io.IOException,
BadDescriptorException,
java.io.EOFException
java.io.IOException
BadDescriptorException
java.io.EOFException
public int read(java.nio.ByteBuffer dst)
throws java.io.IOException,
BadDescriptorException,
java.io.EOFException
java.io.IOException
BadDescriptorException
java.io.EOFException
public int read(java.nio.ByteBuffer dst,
boolean partial)
throws java.io.IOException,
BadDescriptorException,
java.io.EOFException
java.io.IOException
BadDescriptorException
java.io.EOFException
public int read()
throws java.io.IOException,
BadDescriptorException
java.io.IOException
BadDescriptorExceptionpublic ChannelDescriptor getDescriptor()
getDescriptor in interface Stream
public void setBlocking(boolean block)
throws java.io.IOException
setBlocking in interface Streamjava.io.IOExceptionpublic boolean isBlocking()
isBlocking in interface Stream
public void freopen(Ruby runtime,
java.lang.String path,
ModeFlags modes)
throws DirectoryAsFileException,
java.io.IOException,
InvalidValueException,
PipeException,
BadDescriptorException
freopen in interface StreamDirectoryAsFileException
java.io.IOException
InvalidValueException
PipeException
BadDescriptorException
public static Stream open(Ruby runtime,
ChannelDescriptor descriptor)
public static Stream fdopen(Ruby runtime,
ChannelDescriptor descriptor,
ModeFlags modes)
throws InvalidValueException
InvalidValueException
public static Stream open(Ruby runtime,
ChannelDescriptor descriptor,
boolean autoclose)
public static Stream fdopen(Ruby runtime,
ChannelDescriptor descriptor,
ModeFlags modes,
boolean autoclose)
throws InvalidValueException
InvalidValueException
public static Stream fopen(Ruby runtime,
java.lang.String path,
ModeFlags modes)
throws java.io.FileNotFoundException,
DirectoryAsFileException,
FileExistsException,
java.io.IOException,
InvalidValueException,
PipeException,
BadDescriptorException
java.io.FileNotFoundException
DirectoryAsFileException
FileExistsException
java.io.IOException
InvalidValueException
PipeException
BadDescriptorExceptionpublic java.nio.channels.Channel getChannel()
getChannel in interface Stream
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||