X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=chunk_queue.c;h=5dc59cbd0653a092daa595bfa19a5c4f17bc6d5e;hp=ad28190a163d32c4731316a3bd609f626f7871ec;hb=63abcd1b2f6de6ce53d82962f5a2100c5a57e5d3;hpb=6668ac4a8c7f2a92efb9e6d405d954beff77d230 diff --git a/chunk_queue.c b/chunk_queue.c index ad28190a..5dc59cbd 100644 --- a/chunk_queue.c +++ b/chunk_queue.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2010 Andre Noll + * Copyright (C) 2007-2013 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -11,9 +11,9 @@ #include "para.h" #include "list.h" #include "afh.h" -#include "vss.h" #include "string.h" #include "error.h" +#include "chunk_queue.h" /** * Senders may use the chunk queue facility to deal with laggy connections. It @@ -82,12 +82,14 @@ struct queued_chunk *cq_peek(struct chunk_queue *cq) /** * Remove the current chunk from the queue. * - * \param cq The chunk to remove. + * \param cq The queue to remove from. */ void cq_dequeue(struct chunk_queue *cq) { struct queued_chunk *qc = cq_peek(cq); assert(qc); + assert(cq->num_pending >= qc->num_bytes); + cq->num_pending -= qc->num_bytes; list_del(&qc->node); free(qc); }