protected internal sealed override void ParseResult(Connection conn) { // Read socket into receive buffer one record at a time. Do not read entire receive size // because the thread local receive buffer would be too big. Also, scan callbacks can nest // further database commands which contend with the receive buffer. Stream stream = conn.GetStream(); bis = new BufferedStream(stream, 8192); bool status = true; while (status) { // Read header. ReadBytes(8); long size = ByteUtil.BytesToLong(dataBuffer, 0); int receiveSize = ((int)(size & 0xFFFFFFFFFFFFL)); if (receiveSize > 0) { status = ParseGroup(receiveSize); } } }