package org.java_websocket;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.ByteChannel;
import javax.net.ssl.SSLException;
public interface WrappedByteChannel extends ByteChannel {
public boolean isBlocking();
/**
* returns whether readMore should be called to fetch data which has been
* decoded but not yet been returned.
*
* @see #read(ByteBuffer)
* @see #readMore(ByteBuffer)
**/
public boolean isNeedRead();
public boolean isNeedWrite();
/**
* This function does not read data from the underlying channel at all. It
* is just a way to fetch data which has already be received or decoded but
* was but was not yet returned to the user. This could be the case when the
* decoded data did not fit into the buffer the user passed to
* {@link #read(ByteBuffer)}.
**/
public int readMore(ByteBuffer dst) throws SSLException;
public void writeMore() throws IOException;
}