while (true) {
if (cd.size==-1 && cd.data.available() >= 4) {
cd.size = cd.data.readInt();
}
else if (cd.size>=0 && cd.data.available() >= cd.size) {
Message message = server.decode(cd.data, cd.size);
cd.size = -1;
handleMessage(ch, message);
}
else {
break;