All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 16/25] Share ccid3_hc_rx_sock struct and ccid3_hc_rx_sk function via tfrc_ccids
@ 2007-11-01  0:31 Leandro
  2007-11-01 11:00 ` Gerrit Renker
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Leandro @ 2007-11-01  0:31 UTC (permalink / raw)
  To: dccp

[CCID-3/4] Share ccid3_hc_rx_sock and ccid3_hc_rx_sk via tfrc_ccids

ccid3_hc_rx_sock is now tfrc_hc_rx_sock
ccid3_hc_rx_sk is now tfrc_hc_rx_sk

Signed-off-by: Leandro Melo de Sales <leandro@embedded.ufcg.edu.br>

Index: leandro.new/net/dccp/ccids/lib/tfrc_ccids.h
=================================--- leandro.new.orig/net/dccp/ccids/lib/tfrc_ccids.h
+++ leandro.new/net/dccp/ccids/lib/tfrc_ccids.h
@@ -122,3 +122,35 @@ static inline struct tfrc_hc_tx_sock *tf
     return hctx;
 }
 
+/** struct tfrc_hc_rx_sock - CCID3/4 receiver half-connection socket
+ *
+ *  @tfrchcrx_last_counter  -  Tracks window counter (RFC 4342, 8.1)
+ *  @tfrchcrx_state  -  Receiver state, one of %tfrc_hc_rx_states
+ *  @tfrchcrx_bytes_recv  -  Total sum of DCCP payload bytes
+ *  @tfrchcrx_x_recv  -  Receiver estimate of send rate (RFC 3448, sec. 4.3)
+ *  @tfrchcrx_rtt  -  Receiver estimate of RTT
+ *  @tfrchcrx_last_feedback  -  Time at which last feedback was sent
+ *  @tfrchcrx_hist  -  Packet history, exported by TFRC module
+ *  @tfrchcrx_li_hist  -  Loss Interval database, exported by TFRC module
+ *  @tfrchcrx_s  -  Received packet size in bytes
+ *  @tfrchcrx_pinv  -  Inverse of Loss Event Rate (RFC 4342, sec. 8.5)
+ */
+struct tfrc_hc_rx_sock {
+	u8				tfrchcrx_last_counter:4;
+	enum tfrc_hc_rx_states	tfrchcrx_state:8;
+	u32				tfrchcrx_bytes_recv;
+	u32				tfrchcrx_x_recv;
+	u32				tfrchcrx_rtt;
+	ktime_t				tfrchcrx_last_feedback;
+	struct tfrc_rx_hist		tfrchcrx_hist;
+	struct tfrc_loss_hist		tfrchcrx_li_hist;
+	u16				tfrchcrx_s;
+#define tfrchcrx_pinv			tfrchcrx_li_hist.i_mean
+};
+
+static inline struct tfrc_hc_rx_sock *tfrc_hc_rx_sk(const struct sock *sk)
+{
+    struct tfrc_hc_rx_sock *hcrx = ccid_priv(dccp_sk(sk)->dccps_hc_rx_ccid);
+    BUG_ON(hcrx = NULL);
+    return hcrx;
+}
Index: leandro.new/net/dccp/ccids/ccid3.c
=================================--- leandro.new.orig/net/dccp/ccids/ccid3.c
+++ leandro.new/net/dccp/ccids/ccid3.c
@@ -51,7 +51,7 @@ DECLARE_TFRC_TX_CACHE(ccid3_tx_hist);
 /*
  *	Transmitter Half-Connection Routines
  */
-#ifdef CONFIG_IP_DCCP_CCID3_DEBUG
+#if defined(CONFIG_IP_DCCP_CCID3_DEBUG) || defined(CONFIG_IP_DCCP_CCID4_DEBUG)
 static const char *ccid3_tx_state_name(enum tfrc_hc_tx_states state)
 {
 	static char *ccid3_state_names[] = {
@@ -90,9 +90,22 @@ static const char *ccid3_tx_state_name(e
 #define ccid3hctx_x_calc tfrchctx_x_calc
 #define ccid3hctx_t_rto tfrchctx_t_rto
 #define ccid3hctx_x_recv tfrchctx_x_recv
-
 #define ccid3_hc_tx_sk tfrc_hc_tx_sk
 
+#define ccid3_hc_rx_sock tfrc_hc_rx_sock
+#define ccid3hcrx_s tfrchcrx_s
+#define ccid3hcrx_x_recv tfrchcrx_x_recv
+#define ccid3hcrx_pinv tfrchcrx_pinv
+#define ccid3hcrx_last_feedback tfrchcrx_last_feedback
+#define ccid3hcrx_bytes_recv tfrchcrx_bytes_recv
+#define ccid3hcrx_last_counter tfrchcrx_last_counter
+#define ccid3hcrx_rtt tfrchcrx_rtt
+#define ccid3hcrx_s tfrchcrx_s
+#define ccid3hcrx_hist tfrchcrx_hist
+#define ccid3hcrx_li_hist tfrchcrx_li_hist
+
+#define ccid3_hc_rx_sk tfrc_hc_rx_sk
+
 static void ccid3_hc_tx_set_state(struct sock *sk,
 				  enum tfrc_hc_tx_states state)
 {
Index: leandro.new/net/dccp/ccids/ccid4.c
=================================--- leandro.new.orig/net/dccp/ccids/ccid4.c
+++ leandro.new/net/dccp/ccids/ccid4.c
@@ -100,9 +100,22 @@ static const char *ccid4_tx_state_name(e
 #define ccid4hctx_x_calc tfrchctx_x_calc
 #define ccid4hctx_t_rto tfrchctx_t_rto
 #define ccid4hctx_x_recv tfrchctx_x_recv
-
 #define ccid4_hc_tx_sk tfrc_hc_tx_sk
 
+#define ccid4_hc_rx_sock tfrc_hc_rx_sock
+#define ccid4hcrx_s tfrchcrx_s
+#define ccid4hcrx_x_recv tfrchcrx_x_recv
+#define ccid4hcrx_pinv tfrchcrx_pinv
+#define ccid4hcrx_last_feedback tfrchcrx_last_feedback
+#define ccid4hcrx_bytes_recv tfrchcrx_bytes_recv
+#define ccid4hcrx_last_counter tfrchcrx_last_counter
+#define ccid4hcrx_rtt tfrchcrx_rtt
+#define ccid4hcrx_s tfrchcrx_s
+#define ccid4hcrx_hist tfrchcrx_hist
+#define ccid4hcrx_li_hist tfrchcrx_li_hist
+
+#define ccid4_hc_rx_sk tfrc_hc_rx_sk
+
 static void ccid4_hc_tx_set_state(struct sock *sk,
 				  enum tfrc_hc_tx_states state)
 {
Index: leandro.new/net/dccp/ccids/ccid4.h
=================================--- leandro.new.orig/net/dccp/ccids/ccid4.h
+++ leandro.new/net/dccp/ccids/ccid4.h
@@ -61,37 +61,4 @@
  */
 #define CCID4HCTX_H    36
 
-/** struct ccid4_hc_rx_sock - CCID4 receiver half-connection socket
- *
- *  @ccid4hcrx_last_counter  -  Tracks window counter (RFC 4342, 8.1)
- *  @tfrchcrx_state  -  Receiver state, one of %tfrc_hc_rx_states
- *  @ccid4hcrx_bytes_recv  -  Total sum of DCCP payload bytes
- *  @ccid4hcrx_x_recv  -  Receiver estimate of send rate (RFC 3448, sec. 4.3)
- *  @ccid4hcrx_rtt  -  Receiver estimate of RTT
- *  @ccid4hcrx_last_feedback  -  Time at which last feedback was sent
- *  @ccid4hcrx_hist  -  Packet history, exported by TFRC module
- *  @ccid4hcrx_li_hist  -  Loss Interval database, exported by TFRC module
- *  @ccid4hcrx_s  -  Received packet size in bytes
- *  @ccid4hcrx_pinv  -  Inverse of Loss Event Rate (RFC 4342, sec. 8.5)
- */
-struct ccid4_hc_rx_sock {
-	u8				ccid4hcrx_last_counter:4;
-	enum tfrc_hc_rx_states	tfrchcrx_state:8;
-	u32				ccid4hcrx_bytes_recv;
-	u32				ccid4hcrx_x_recv;
-	u32				ccid4hcrx_rtt;
-	ktime_t				ccid4hcrx_last_feedback;
-	struct tfrc_rx_hist		ccid4hcrx_hist;
-	struct tfrc_loss_hist		ccid4hcrx_li_hist;
-	u16				ccid4hcrx_s;
-#define ccid4hcrx_pinv			ccid4hcrx_li_hist.i_mean
-};
-
-static inline struct ccid4_hc_rx_sock *ccid4_hc_rx_sk(const struct sock *sk)
-{
-    struct ccid4_hc_rx_sock *hcrx = ccid_priv(dccp_sk(sk)->dccps_hc_rx_ccid);
-    BUG_ON(hcrx = NULL);
-    return hcrx;
-}
-
 #endif /* _DCCP_CCID4_H_ */
Index: leandro.new/net/dccp/ccids/ccid3.h
=================================--- leandro.new.orig/net/dccp/ccids/ccid3.h
+++ leandro.new/net/dccp/ccids/ccid3.h
@@ -38,37 +38,4 @@
  */
 #include "lib/tfrc_ccids.h"
 
-/** struct ccid3_hc_rx_sock - CCID3 receiver half-connection socket
- *
- *  @ccid3hcrx_last_counter  -  Tracks window counter (RFC 4342, 8.1)
- *  @tfrchcrx_state  -  Receiver state, one of %tfrc_hc_rx_states
- *  @ccid3hcrx_bytes_recv  -  Total sum of DCCP payload bytes
- *  @ccid3hcrx_x_recv  -  Receiver estimate of send rate (RFC 3448, sec. 4.3)
- *  @ccid3hcrx_rtt  -  Receiver estimate of RTT
- *  @ccid3hcrx_last_feedback  -  Time at which last feedback was sent
- *  @ccid3hcrx_hist  -  Packet history, exported by TFRC module
- *  @ccid3hcrx_li_hist  -  Loss Interval database, exported by TFRC module
- *  @ccid3hcrx_s  -  Received packet size in bytes
- *  @ccid3hcrx_pinv  -  Inverse of Loss Event Rate (RFC 4342, sec. 8.5)
- */
-struct ccid3_hc_rx_sock {
-	u8				ccid3hcrx_last_counter:4;
-	enum tfrc_hc_rx_states	        tfrchcrx_state:8;
-	u32				ccid3hcrx_bytes_recv;
-	u32				ccid3hcrx_x_recv;
-	u32				ccid3hcrx_rtt;
-	ktime_t				ccid3hcrx_last_feedback;
-	struct tfrc_rx_hist		ccid3hcrx_hist;
-	struct tfrc_loss_hist		ccid3hcrx_li_hist;
-	u16				ccid3hcrx_s;
-#define ccid3hcrx_pinv			ccid3hcrx_li_hist.i_mean
-};
-
-static inline struct ccid3_hc_rx_sock *ccid3_hc_rx_sk(const struct sock *sk)
-{
-    struct ccid3_hc_rx_sock *hcrx = ccid_priv(dccp_sk(sk)->dccps_hc_rx_ccid);
-    BUG_ON(hcrx = NULL);
-    return hcrx;
-}
-
 #endif /* _DCCP_CCID3_H_ */

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 16/25] Share ccid3_hc_rx_sock struct and ccid3_hc_rx_sk function via tfrc_ccids
  2007-11-01  0:31 [PATCH 16/25] Share ccid3_hc_rx_sock struct and ccid3_hc_rx_sk function via tfrc_ccids Leandro
@ 2007-11-01 11:00 ` Gerrit Renker
  2007-11-01 21:58 ` Łeandro Sales
  2007-11-08 10:28 ` Gerrit Renker
  2 siblings, 0 replies; 4+ messages in thread
From: Gerrit Renker @ 2007-11-01 11:00 UTC (permalink / raw)
  To: dccp

I think we need to get back to deciding on a naming scheme for the structs. It is not
your fault, but with the current scheme the names become extremely cryptic:

|  + *  @tfrchcrx_last_counter  -  Tracks window counter (RFC 4342, 8.1)
|  + *  @tfrchcrx_state  -  Receiver state, one of %tfrc_hc_rx_states
|  + *  @tfrchcrx_bytes_recv  -  Total sum of DCCP payload bytes
|  + *  @tfrchcrx_x_recv  -  Receiver estimate of send rate (RFC 3448, sec. 4.3)
|  + *  @tfrchcrx_rtt  -  Receiver estimate of RTT
|  + *  @tfrchcrx_last_feedback  -  Time at which last feedback was sent
|  + *  @tfrchcrx_hist  -  Packet history, exported by TFRC module
|  + *  @tfrchcrx_li_hist  -  Loss Interval database, exported by TFRC module
|  + *  @tfrchcrx_s  -  Received packet size in bytes
|  + *  @tfrchcrx_pinv  -  Inverse of Loss Event Rate (RFC 4342, sec. 8.5)
|  + */

Similar thing with the #defines - my eyes fail to parse this:
|   #define ccid3_hc_tx_sk tfrc_hc_tx_sk
|   
|  +#define ccid3_hc_rx_sock tfrc_hc_rx_sock
|  +#define ccid3hcrx_s tfrchcrx_s
|  +#define ccid3hcrx_x_recv tfrchcrx_x_recv
|  +#define ccid3hcrx_pinv tfrchcrx_pinv
|  +#define ccid3hcrx_last_feedback tfrchcrx_last_feedback
|  +#define ccid3hcrx_bytes_recv tfrchcrx_bytes_recv
|  +#define ccid3hcrx_last_counter tfrchcrx_last_counter
|  +#define ccid3hcrx_rtt tfrchcrx_rtt
|  +#define ccid3hcrx_s tfrchcrx_s
|  +#define ccid3hcrx_hist tfrchcrx_hist
|  +#define ccid3hcrx_li_hist tfrchcrx_li_hist

My suggestion is to use something like
	* `ttx_' for TFRC TX related structs/operations/fields
	* `trx_' for  "   RX  "             "
	* Arnaldo's scheme for the CCIDs 
		-- c3rx_ / c4rx_ for RX structs/fields
		-- c3tx_ / c4tx_ for TX structs/fields

Of course that costs work. But now is probably the best time to change it - so better
get it cleaned up before passing it on to Arnaldo.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 16/25] Share ccid3_hc_rx_sock struct and ccid3_hc_rx_sk function via tfrc_ccids
  2007-11-01  0:31 [PATCH 16/25] Share ccid3_hc_rx_sock struct and ccid3_hc_rx_sk function via tfrc_ccids Leandro
  2007-11-01 11:00 ` Gerrit Renker
@ 2007-11-01 21:58 ` Łeandro Sales
  2007-11-08 10:28 ` Gerrit Renker
  2 siblings, 0 replies; 4+ messages in thread
From: Łeandro Sales @ 2007-11-01 21:58 UTC (permalink / raw)
  To: dccp

2007/11/1, Gerrit Renker <gerrit@erg.abdn.ac.uk>:
> I think we need to get back to deciding on a naming scheme for the structs. It is not
> your fault, but with the current scheme the names become extremely cryptic:
>
> |  + * @tfrchcrx_last_counter - Tracks window counter (RFC 4342, 8.1)
> |  + * @tfrchcrx_state - Receiver state, one of %tfrc_hc_rx_states
> |  + * @tfrchcrx_bytes_recv - Total sum of DCCP payload bytes
> |  + * @tfrchcrx_x_recv - Receiver estimate of send rate (RFC 3448, sec. 4.3)
> |  + * @tfrchcrx_rtt - Receiver estimate of RTT
> |  + * @tfrchcrx_last_feedback - Time at which last feedback was sent
> |  + * @tfrchcrx_hist - Packet history, exported by TFRC module
> |  + * @tfrchcrx_li_hist - Loss Interval database, exported by TFRC module
> |  + * @tfrchcrx_s - Received packet size in bytes
> |  + * @tfrchcrx_pinv - Inverse of Loss Event Rate (RFC 4342, sec. 8.5)
> |  + */
>
> Similar thing with the #defines - my eyes fail to parse this:
> |  #define ccid3_hc_tx_sk tfrc_hc_tx_sk
> |
> |  +#define ccid3_hc_rx_sock tfrc_hc_rx_sock
> |  +#define ccid3hcrx_s tfrchcrx_s
> |  +#define ccid3hcrx_x_recv tfrchcrx_x_recv
> |  +#define ccid3hcrx_pinv tfrchcrx_pinv
> |  +#define ccid3hcrx_last_feedback tfrchcrx_last_feedback
> |  +#define ccid3hcrx_bytes_recv tfrchcrx_bytes_recv
> |  +#define ccid3hcrx_last_counter tfrchcrx_last_counter
> |  +#define ccid3hcrx_rtt tfrchcrx_rtt
> |  +#define ccid3hcrx_s tfrchcrx_s
> |  +#define ccid3hcrx_hist tfrchcrx_hist
> |  +#define ccid3hcrx_li_hist tfrchcrx_li_hist
>
> My suggestion is to use something like
>         * `ttx_' for TFRC TX related structs/operations/fields
>         * `trx_' for  "   RX  "             "
>         * Arnaldo's scheme for the CCIDs
>                 -- c3rx_ / c4rx_ for RX structs/fields
>                 -- c3tx_ / c4tx_ for TX structs/fields
>
> Of course that costs work. But now is probably the best time to change it - so better
> get it cleaned up before passing it on to Arnaldo.
>

I totally agree with you. I will update the patches.

Leandro.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 16/25] Share ccid3_hc_rx_sock struct and ccid3_hc_rx_sk function via tfrc_ccids
  2007-11-01  0:31 [PATCH 16/25] Share ccid3_hc_rx_sock struct and ccid3_hc_rx_sk function via tfrc_ccids Leandro
  2007-11-01 11:00 ` Gerrit Renker
  2007-11-01 21:58 ` Łeandro Sales
@ 2007-11-08 10:28 ` Gerrit Renker
  2 siblings, 0 replies; 4+ messages in thread
From: Gerrit Renker @ 2007-11-08 10:28 UTC (permalink / raw)
  To: dccp

| +static inline struct tfrc_hc_rx_sock *tfrc_hc_rx_sk(const struct sock *sk)
| +{
| +    struct tfrc_hc_rx_sock *hcrx = ccid_priv(dccp_sk(sk)->dccps_hc_rx_ccid);
| +    BUG_ON(hcrx = NULL);
| +    return hcrx;
| +}
Whitespace issue (the same problem is in the original where it was
copied from) -- should have tabs at the start, not 4 blanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-11-08 10:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-01  0:31 [PATCH 16/25] Share ccid3_hc_rx_sock struct and ccid3_hc_rx_sk function via tfrc_ccids Leandro
2007-11-01 11:00 ` Gerrit Renker
2007-11-01 21:58 ` Łeandro Sales
2007-11-08 10:28 ` Gerrit Renker

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.