]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - chunk_queue.c
list.h: Convert INIT_LIST_HEAD macro to inline function.
[paraslash.git] / chunk_queue.c
index 468b1dc2dd4828796d53e5804d6f28611b88c462..cf74cc336de25caa593b198bcfd79a3166996381 100644 (file)
@@ -1,8 +1,4 @@
-/*
- * Copyright (C) 2007-2010 Andre Noll <maan@systemlinux.org>
- *
- * Licensed under the GPL v2. For licencing details see COPYING.
- */
+/* Copyright (C) 2007 Andre Noll <maan@tuebingen.mpg.de>, 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;