public class IMAPInputStream
extends java.io.InputStream
| Modifier and Type | Field and Description |
|---|---|
private int |
blksize |
private byte[] |
buf |
private int |
bufcount |
private int |
bufpos |
private boolean |
lastBuffer |
private int |
max |
private IMAPMessage |
msg |
private boolean |
peek |
private int |
pos |
private ByteArray |
readbuf |
private java.lang.String |
section |
private static int |
slop |
| Constructor and Description |
|---|
IMAPInputStream(IMAPMessage msg,
java.lang.String section,
int max,
boolean peek)
Create an IMAPInputStream.
|
| Modifier and Type | Method and Description |
|---|---|
int |
available()
Returns the number of bytes that can be read from this input
stream without blocking.
|
private void |
checkSeen()
Normally the SEEN flag will have been set by now, but if not,
force it to be set (as long as the folder isn't open read-only
and we're not peeking).
|
private void |
fill()
Fetch more data from the server.
|
private void |
forceCheckExpunged()
Do a NOOP to force any untagged EXPUNGE responses
and then check if this message is expunged.
|
int |
read()
Reads the next byte of data from this buffered input stream.
|
int |
read(byte[] b)
Reads up to
b.length bytes of data from this input
stream into an array of bytes. |
int |
read(byte[] b,
int off,
int len)
Reads up to
len bytes of data from this
input stream into the given buffer. |
private IMAPMessage msg
private java.lang.String section
private int pos
private int blksize
private int max
private byte[] buf
private int bufcount
private int bufpos
private boolean lastBuffer
private boolean peek
private ByteArray readbuf
private static final int slop
public IMAPInputStream(IMAPMessage msg, java.lang.String section, int max, boolean peek)
msg - the IMAPMessage the data will come fromsection - the IMAP section/part identifier for the datamax - the number of bytes in this sectionpeek - peek instead of fetch?private void forceCheckExpunged()
throws MessageRemovedIOException,
FolderClosedIOException
private void fill()
throws java.io.IOException
java.io.IOExceptionpublic int read()
throws java.io.IOException
-1 is returned.read in class java.io.InputStreamjava.io.IOExceptionpublic int read(byte[] b,
int off,
int len)
throws java.io.IOException
len bytes of data from this
input stream into the given buffer.
Returns the total number of bytes read into the buffer,
or -1 if there is no more data.
Note that this method mimics the "weird !" semantics of BufferedInputStream in that the number of bytes actually returned may be less that the requested value. So callers of this routine should be aware of this and must check the return value to insure that they have obtained the requisite number of bytes.
read in class java.io.InputStreamjava.io.IOExceptionpublic int read(byte[] b)
throws java.io.IOException
b.length bytes of data from this input
stream into an array of bytes.
Returns the total number of bytes read into the buffer, or
-1 is there is no more data.
Note that this method mimics the "weird !" semantics of BufferedInputStream in that the number of bytes actually returned may be less that the requested value. So callers of this routine should be aware of this and must check the return value to insure that they have obtained the requisite number of bytes.
read in class java.io.InputStreamjava.io.IOExceptionpublic int available()
throws java.io.IOException
available in class java.io.InputStreamjava.io.IOExceptionprivate void checkSeen()