question: retrieves a packet that needs to be processed concode_field_sep ProtocolWrapper tcpWrapper concode_elem_sep int UDP_BUFFER_SIZE concode_elem_sep int TCP_BUFFER_SIZE concode_elem_sep Socket legacySocket concode_elem_sep boolean terminating concode_elem_sep long ping concode_elem_sep SocketChannel tcpChannel concode_elem_sep int DEFAULT_TCP_BUFFER_SIZE concode_elem_sep int DEFAULT_UDP_BUFFER_SIZE concode_elem_sep ByteBuffer tcpBuffer concode_elem_sep boolean threadsActive concode_elem_sep DatagramChannel udpChannel concode_elem_sep ProtocolWrapper udpWrapper concode_elem_sep List<PacketNIO> readPackets concode_elem_sep ByteBuffer udpBuffer concode_elem_sep ByteBuffer tcpIn concode_elem_sep Logger logger concode_elem_sep ByteBuffer udpIn concode_elem_sep boolean running concode_elem_sep Thread readThread concode_elem_sep String sourceName concode_elem_sep SocketAddress remoteAddress concode_field_sep void disconnect concode_elem_sep void networkShutdown concode_elem_sep void sendPackets concode_elem_sep void addToUDPSendQueue concode_elem_sep void addToTCPSendQueue concode_elem_sep boolean isRunning concode_elem_sep SocketAddress getSocketAddress concode_elem_sep boolean readPackets concode_elem_sep boolean readPackets concode_elem_sep void wakeThreads concode_elem_sep void setPing concode_elem_sep int getReadQueueSize concode_elem_sep boolean isTerminating
target: PacketNIO function ( ) { try { return this . readPackets . remove ( 0 ) ; } catch ( Exception loc0 ) { return null ; } }