X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=chunk_queue.c;h=cf74cc336de25caa593b198bcfd79a3166996381;hp=468b1dc2dd4828796d53e5804d6f28611b88c462;hb=442a3320ff155d09b990c0ee2abace399cbcd6dd;hpb=28f8405e062fcff1f0ce90eb01ffeaca299cffa7 diff --git a/chunk_queue.c b/chunk_queue.c index 468b1dc2..cf74cc33 100644 --- a/chunk_queue.c +++ b/chunk_queue.c @@ -1,8 +1,4 @@ -/* - * Copyright (C) 2007-2010 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2007 Andre Noll , see file COPYING. */ /** \file chunk_queue.c Queuing functions for paraslash senders. */ @@ -13,6 +9,7 @@ #include "afh.h" #include "string.h" #include "error.h" +#include "chunk_queue.h" /** * Senders may use the chunk queue facility to deal with laggy connections. It @@ -93,34 +90,6 @@ void cq_dequeue(struct chunk_queue *cq) free(qc); } -/** - * Force to add a chunk to the given queue. - * - * \param cq See \ref cq_enqueue. - * \param buf See \ref cq_enqueue. - * \param num_bytes See \ref cq_enqueue. - * - * If queuing the given buffer would result in exceeding the maximal queue - * size, buffers are dropped from the beginning of the queue. Note that this - * function still might fail. - * - * \return Standard. - */ -int cq_force_enqueue(struct chunk_queue *cq, const char *buf, size_t num_bytes) -{ - int ret; - - if (num_bytes > cq->max_pending) - return -E_QUEUE; - for (;;) { - ret = cq_enqueue(cq, buf, num_bytes); - if (ret >= 0) - return ret; - cq_dequeue(cq); - } - /* never reached */ -} - /** * Change the number of bytes sent for the current queued chunk. * @@ -162,7 +131,7 @@ int cq_get(struct queued_chunk *qc, const char **buf, size_t *num_bytes) struct chunk_queue *cq_new(size_t max_pending) { struct chunk_queue *cq = para_malloc(sizeof(*cq)); - INIT_LIST_HEAD(&cq->q); + init_list_head(&cq->q); cq->max_pending = max_pending; cq->num_pending = 0; return cq;