projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
server: Update status items on file renames.
[paraslash.git]
/
chunk_queue.c
diff --git
a/chunk_queue.c
b/chunk_queue.c
index bb97c6902ae92379b04033990598c958a8dd76b4..08f57e9d1ecf9bae1cadead0757fe29418c446c3 100644
(file)
--- a/
chunk_queue.c
+++ b/
chunk_queue.c
@@
-1,8
+1,4
@@
-/*
- * Copyright (C) 2007-2009 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. */
/** \file chunk_queue.c Queuing functions for paraslash senders. */
@@
-11,9
+7,9
@@
#include "para.h"
#include "list.h"
#include "afh.h"
#include "para.h"
#include "list.h"
#include "afh.h"
-#include "vss.h"
#include "string.h"
#include "error.h"
#include "string.h"
#include "error.h"
+#include "chunk_queue.h"
/**
* Senders may use the chunk queue facility to deal with laggy connections. It
/**
* Senders may use the chunk queue facility to deal with laggy connections. It
@@
-82,12
+78,14
@@
struct queued_chunk *cq_peek(struct chunk_queue *cq)
/**
* Remove the current chunk from the queue.
*
/**
* 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);
*/
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);
}
list_del(&qc->node);
free(qc);
}