
org.java_websocket.AbstractWrappedByteChannel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of Java-WebSocket Show documentation
Show all versions of Java-WebSocket Show documentation
A barebones WebSocket client and server implementation written 100% in Java
package org.java_websocket;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.ByteChannel;
import java.nio.channels.SocketChannel;
import javax.net.ssl.SSLException;
public class AbstractWrappedByteChannel implements WrappedByteChannel {
private final ByteChannel channel;
public AbstractWrappedByteChannel( ByteChannel towrap ) {
this.channel = towrap;
}
public AbstractWrappedByteChannel( WrappedByteChannel towrap ) {
this.channel = towrap;
}
@Override
public int read( ByteBuffer dst ) throws IOException {
return channel.read( dst );
}
@Override
public boolean isOpen() {
return channel.isOpen();
}
@Override
public void close() throws IOException {
channel.close();
}
@Override
public int write( ByteBuffer src ) throws IOException {
return channel.write( src );
}
@Override
public boolean isNeedWrite() {
return channel instanceof WrappedByteChannel ? ( (WrappedByteChannel) channel ).isNeedWrite() : false;
}
@Override
public void writeMore() throws IOException {
if( channel instanceof WrappedByteChannel )
( (WrappedByteChannel) channel ).writeMore();
}
@Override
public boolean isNeedRead() {
return channel instanceof WrappedByteChannel ? ( (WrappedByteChannel) channel ).isNeedRead() : false;
}
@Override
public int readMore( ByteBuffer dst ) throws SSLException {
return channel instanceof WrappedByteChannel ? ( (WrappedByteChannel) channel ).readMore( dst ) : 0;
}
@Override
public boolean isBlocking() {
if( channel instanceof SocketChannel )
return ( (SocketChannel) channel ).isBlocking();
else if( channel instanceof WrappedByteChannel )
return ( (WrappedByteChannel) channel ).isBlocking();
return false;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy