|
Rice Pastry API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface AppSocket
Interface for sending bulk data from the application. Mimics java's non-blocking SocketChannel interface this should make it easier to implement in any Java-based p2p overlay.
Method Summary | |
---|---|
void |
close()
Closes this socket. |
long |
read(java.nio.ByteBuffer[] dsts,
int offset,
int length)
Reads a sequence of bytes from this channel into a subsequence of the given buffers. |
void |
register(boolean wantToRead,
boolean wantToWrite,
int timeout,
AppSocketReceiver receiver)
Must be called every time a Read/Write occurs to continue operation. |
void |
shutdownOutput()
Disables the output stream for this socket. |
long |
write(java.nio.ByteBuffer[] srcs,
int offset,
int length)
Writes a sequence of bytes to this channel from a subsequence of the given buffers. |
Method Detail |
---|
long read(java.nio.ByteBuffer[] dsts, int offset, int length) throws java.io.IOException
java.io.IOException
long write(java.nio.ByteBuffer[] srcs, int offset, int length) throws java.io.IOException
java.io.IOException
void register(boolean wantToRead, boolean wantToWrite, int timeout, AppSocketReceiver receiver)
wantToRead
- if you want to read from this socketwantToWrite
- if you want to write to this sockettimeout
- // the socket's timeout value (this is a TCP level param)receiver
- will have receiveSelectResult() called on it
note that you must call select() each time receiveSelectResult() is called. This is so
your application can properly handle flow controlvoid shutdownOutput()
void close()
|
Rice Pastry API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |