aboutsummaryrefslogtreecommitdiff
path: root/src/include/gnunet_fragmentation_lib.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-10-22 12:36:41 +0000
committerChristian Grothoff <christian@grothoff.org>2012-10-22 12:36:41 +0000
commitddd69826be47a1956c6972c2cfcadfa7902b8639 (patch)
treedd632db2ba084a1a83b0ef57189333f2bbd354a6 /src/include/gnunet_fragmentation_lib.h
parent582f893b55d9536864b59ad3ccb1dfeb43ff31b7 (diff)
downloadgnunet-ddd69826be47a1956c6972c2cfcadfa7902b8639.tar.gz
gnunet-ddd69826be47a1956c6972c2cfcadfa7902b8639.zip
-trying to fix fragmentation / udp performance, not working yet
Diffstat (limited to 'src/include/gnunet_fragmentation_lib.h')
-rw-r--r--src/include/gnunet_fragmentation_lib.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/include/gnunet_fragmentation_lib.h b/src/include/gnunet_fragmentation_lib.h
index a953bd2b1..b02201867 100644
--- a/src/include/gnunet_fragmentation_lib.h
+++ b/src/include/gnunet_fragmentation_lib.h
@@ -73,7 +73,9 @@ typedef void (*GNUNET_FRAGMENT_MessageProcessor) (void *cls,
73 * @param stats statistics context 73 * @param stats statistics context
74 * @param mtu the maximum message size for each fragment 74 * @param mtu the maximum message size for each fragment
75 * @param tracker bandwidth tracker to use for flow control (can be NULL) 75 * @param tracker bandwidth tracker to use for flow control (can be NULL)
76 * @param delay expected delay between fragment transmission 76 * @param msg_delay initial delay to insert between fragment transmissions
77 * based on previous messages
78 * @param ack_delay expected delay between fragment transmission
77 * and ACK based on previous messages 79 * and ACK based on previous messages
78 * @param msg the message to fragment 80 * @param msg the message to fragment
79 * @param proc function to call for each fragment to transmit 81 * @param proc function to call for each fragment to transmit
@@ -84,7 +86,8 @@ struct GNUNET_FRAGMENT_Context *
84GNUNET_FRAGMENT_context_create (struct GNUNET_STATISTICS_Handle *stats, 86GNUNET_FRAGMENT_context_create (struct GNUNET_STATISTICS_Handle *stats,
85 uint16_t mtu, 87 uint16_t mtu,
86 struct GNUNET_BANDWIDTH_Tracker *tracker, 88 struct GNUNET_BANDWIDTH_Tracker *tracker,
87 struct GNUNET_TIME_Relative delay, 89 struct GNUNET_TIME_Relative msg_delay,
90 struct GNUNET_TIME_Relative ack_delay,
88 const struct GNUNET_MessageHeader *msg, 91 const struct GNUNET_MessageHeader *msg,
89 GNUNET_FRAGMENT_MessageProcessor proc, 92 GNUNET_FRAGMENT_MessageProcessor proc,
90 void *proc_cls); 93 void *proc_cls);
@@ -122,11 +125,15 @@ GNUNET_FRAGMENT_process_ack (struct GNUNET_FRAGMENT_Context *fc,
122 * resources). 125 * resources).
123 * 126 *
124 * @param fc fragmentation context 127 * @param fc fragmentation context
125 * @return average delay between transmission and ACK for the 128 * @param msg_delay where to store average delay between individual message transmissions the
126 * last message, FOREVER if the message was not fully transmitted 129 * last message (OUT only)
130 * @param ack_delay where to store average delay between transmission and ACK for the
131 * last message, set to FOREVER if the message was not fully transmitted (OUT only)
127 */ 132 */
128struct GNUNET_TIME_Relative 133void
129GNUNET_FRAGMENT_context_destroy (struct GNUNET_FRAGMENT_Context *fc); 134GNUNET_FRAGMENT_context_destroy (struct GNUNET_FRAGMENT_Context *fc,
135 struct GNUNET_TIME_Relative *msg_delay,
136 struct GNUNET_TIME_Relative *ack_delay);
130 137
131 138
132/** 139/**