import java.io.IOException;
import java.net.SocketAddress;
import java.net.StandardSocketOptions;
import java.io.IOException;
import java.net.SocketAddress;
import java.net.StandardSocketOptions;
int read = ((SocketChannel) key.channel()).read(buf);
if (read == -1) {
this.peer_manager.socket_disconnected(peer.descriptor);
key.cancel();
} else if (read > 0) {
int read = ((SocketChannel) key.channel()).read(buf);
if (read == -1) {
this.peer_manager.socket_disconnected(peer.descriptor);
key.cancel();
} else if (read > 0) {
byte[] read_bytes = new byte[read];
buf.get(read_bytes, 0, read);
Result_boolPeerHandleErrorZ res = this.peer_manager.read_event(peer.descriptor, read_bytes);
byte[] read_bytes = new byte[read];
buf.get(read_bytes, 0, read);
Result_boolPeerHandleErrorZ res = this.peer_manager.read_event(peer.descriptor, read_bytes);