Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85dcb1f7 authored by Gerrit Renker's avatar Gerrit Renker Committed by David S. Miller
Browse files

[DCCP] ccid3: Reorder packet history header file



No code change at all.

To make the header file easier to read, the following ordering is established
among the declarations:
	* hist_new
	* hist_delete
	* hist_entry_new
	* hist_head
	* hist_find_entry
	* hist_add_entry
	* hist_entry_delete
	* hist_purge

Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: default avatarIan McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@mandriva.com>
parent a9672411
Loading
Loading
Loading
Loading
+67 −60
Original line number Diff line number Diff line
@@ -49,6 +49,9 @@
#define TFRC_WIN_COUNT_PER_RTT	 4
#define TFRC_WIN_COUNT_LIMIT	16

/*
 * 	Transmitter History data structures and declarations
 */
struct dccp_tx_hist_entry {
	struct list_head dccphtx_node;
	u64		 dccphtx_seqno:48,
@@ -57,15 +60,6 @@ struct dccp_tx_hist_entry {
	struct timeval	 dccphtx_tstamp;
};

struct dccp_rx_hist_entry {
	struct list_head dccphrx_node;
	u64		 dccphrx_seqno:48,
			 dccphrx_ccval:4,
			 dccphrx_type:4;
	u32		 dccphrx_ndp; /* In fact it is from 8 to 24 bits */
	struct timeval	 dccphrx_tstamp;
};

struct dccp_tx_hist {
	struct kmem_cache *dccptxh_slab;
};
@@ -73,15 +67,6 @@ struct dccp_tx_hist {
extern struct dccp_tx_hist *dccp_tx_hist_new(const char *name);
extern void 		    dccp_tx_hist_delete(struct dccp_tx_hist *hist);

struct dccp_rx_hist {
	struct kmem_cache *dccprxh_slab;
};

extern struct dccp_rx_hist *dccp_rx_hist_new(const char *name);
extern void dccp_rx_hist_delete(struct dccp_rx_hist *hist);
extern struct dccp_rx_hist_entry *
		dccp_rx_hist_find_data_packet(const struct list_head *list);

static inline struct dccp_tx_hist_entry *
			dccp_tx_hist_entry_new(struct dccp_tx_hist *hist,
					       const gfp_t prio)
@@ -95,18 +80,20 @@ static inline struct dccp_tx_hist_entry *
	return entry;
}

static inline void dccp_tx_hist_entry_delete(struct dccp_tx_hist *hist,
					     struct dccp_tx_hist_entry *entry)
static inline struct dccp_tx_hist_entry *
			dccp_tx_hist_head(struct list_head *list)
{
	if (entry != NULL)
		kmem_cache_free(hist->dccptxh_slab, entry);
	struct dccp_tx_hist_entry *head = NULL;

	if (!list_empty(list))
		head = list_entry(list->next, struct dccp_tx_hist_entry,
				  dccphtx_node);
	return head;
}

extern struct dccp_tx_hist_entry *
			dccp_tx_hist_find_entry(const struct list_head *list,
						const u64 seq);
extern int dccp_rx_hist_find_entry(const struct list_head *list, const u64 seq,
   u8 *ccval);

static inline void dccp_tx_hist_add_entry(struct list_head *list,
					  struct dccp_tx_hist_entry *entry)
@@ -114,23 +101,38 @@ static inline void dccp_tx_hist_add_entry(struct list_head *list,
	list_add(&entry->dccphtx_node, list);
}

static inline void dccp_tx_hist_entry_delete(struct dccp_tx_hist *hist,
					     struct dccp_tx_hist_entry *entry)
{
	if (entry != NULL)
		kmem_cache_free(hist->dccptxh_slab, entry);
}

extern void dccp_tx_hist_purge(struct dccp_tx_hist *hist,
			       struct list_head *list);

extern void dccp_tx_hist_purge_older(struct dccp_tx_hist *hist,
				     struct list_head *list,
				     struct dccp_tx_hist_entry *next);

extern void dccp_tx_hist_purge(struct dccp_tx_hist *hist,
			       struct list_head *list);
/*
 * 	Receiver History data structures and declarations
 */
struct dccp_rx_hist_entry {
	struct list_head dccphrx_node;
	u64		 dccphrx_seqno:48,
			 dccphrx_ccval:4,
			 dccphrx_type:4;
	u32		 dccphrx_ndp; /* In fact it is from 8 to 24 bits */
	struct timeval	 dccphrx_tstamp;
};

static inline struct dccp_tx_hist_entry *
		dccp_tx_hist_head(struct list_head *list)
{
	struct dccp_tx_hist_entry *head = NULL;
struct dccp_rx_hist {
	struct kmem_cache *dccprxh_slab;
};

	if (!list_empty(list))
		head = list_entry(list->next, struct dccp_tx_hist_entry,
				  dccphtx_node);
	return head;
}
extern struct dccp_rx_hist *dccp_rx_hist_new(const char *name);
extern void 		dccp_rx_hist_delete(struct dccp_rx_hist *hist);

static inline struct dccp_rx_hist_entry *
			dccp_rx_hist_entry_new(struct dccp_rx_hist *hist,
@@ -155,16 +157,6 @@ static inline struct dccp_rx_hist_entry *
	return entry;
}

static inline void dccp_rx_hist_entry_delete(struct dccp_rx_hist *hist,
					     struct dccp_rx_hist_entry *entry)
{
	if (entry != NULL)
		kmem_cache_free(hist->dccprxh_slab, entry);
}

extern void dccp_rx_hist_purge(struct dccp_rx_hist *hist,
			       struct list_head *list);

static inline struct dccp_rx_hist_entry *
			dccp_rx_hist_head(struct list_head *list)
{
@@ -176,12 +168,10 @@ static inline struct dccp_rx_hist_entry *
	return head;
}

static inline int
	dccp_rx_hist_entry_data_packet(const struct dccp_rx_hist_entry *entry)
{
	return entry->dccphrx_type == DCCP_PKT_DATA ||
	       entry->dccphrx_type == DCCP_PKT_DATAACK;
}
extern int dccp_rx_hist_find_entry(const struct list_head *list, const u64 seq,
   				   u8 *ccval);
extern struct dccp_rx_hist_entry *
		dccp_rx_hist_find_data_packet(const struct list_head *list);

extern void dccp_rx_hist_add_packet(struct dccp_rx_hist *hist,
				    struct list_head *rx_list,
@@ -189,6 +179,23 @@ extern void dccp_rx_hist_add_packet(struct dccp_rx_hist *hist,
				    struct dccp_rx_hist_entry *packet,
				    u64 nonloss_seqno);

static inline void dccp_rx_hist_entry_delete(struct dccp_rx_hist *hist,
					     struct dccp_rx_hist_entry *entry)
{
	if (entry != NULL)
		kmem_cache_free(hist->dccprxh_slab, entry);
}

extern void dccp_rx_hist_purge(struct dccp_rx_hist *hist,
			       struct list_head *list);

static inline int
	dccp_rx_hist_entry_data_packet(const struct dccp_rx_hist_entry *entry)
{
	return entry->dccphrx_type == DCCP_PKT_DATA ||
	       entry->dccphrx_type == DCCP_PKT_DATAACK;
}

extern u64 dccp_rx_hist_detect_loss(struct list_head *rx_list,
				    struct list_head *li_list, u8 *win_loss);