private EzyByteBuffer getRemainBytes(EzyByteBuffer old)
 {
     if (!old.hasRemaining())
     {
         return(null);
     }
     byte[] bytes = new byte[old.remaining()];
     old.get(bytes);
     return(EzyByteBuffer.wrap(bytes));
 }
        private void handleQueue(EzyCallback <EzyMessage> callback)
        {
            while (queue.Count > 0 && active)
            {
                do
                {
                    EzyMessage message = queue.Dequeue();
                    callback(message);
                }while (queue.Count > 0);

                if (buffer.hasRemaining())
                {
                    decoder.decode(buffer, queue);
                }
            }
        }