diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2012-09-11 10:24:54 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2012-09-11 10:24:54 +0000 |
commit | 786b876b5759c3e8bcd494c8e880d15e05285e29 (patch) | |
tree | 38dda98a06764c6c690df61c9055403466d3597e /src/stream | |
parent | 1ae24ace5ac040dac0b1e9261a7db506b1530ca1 (diff) | |
download | gnunet-786b876b5759c3e8bcd494c8e880d15e05285e29.tar.gz gnunet-786b876b5759c3e8bcd494c8e880d15e05285e29.zip |
rename MAX_PACKET_SIZE option to MAX_PAYLOAD_SIZE
Diffstat (limited to 'src/stream')
-rw-r--r-- | src/stream/mesh.supp | 6 | ||||
-rw-r--r-- | src/stream/stream_api.c | 54 |
2 files changed, 27 insertions, 33 deletions
diff --git a/src/stream/mesh.supp b/src/stream/mesh.supp index 7e3de9f07..7107c0b3d 100644 --- a/src/stream/mesh.supp +++ b/src/stream/mesh.supp | |||
@@ -6,11 +6,7 @@ | |||
6 | fun:GNUNET_PEER_intern | 6 | fun:GNUNET_PEER_intern |
7 | fun:GNUNET_MESH_peer_request_connect_add | 7 | fun:GNUNET_MESH_peer_request_connect_add |
8 | fun:GNUNET_STREAM_open | 8 | fun:GNUNET_STREAM_open |
9 | fun:stream_ca | 9 | ... |
10 | fun:configuration_receiver | ||
11 | fun:handle_peer_config | ||
12 | fun:message_handler | ||
13 | fun:receive_task | ||
14 | } | 10 | } |
15 | { | 11 | { |
16 | <unknown_from_mesh> | 12 | <unknown_from_mesh> |
diff --git a/src/stream/stream_api.c b/src/stream/stream_api.c index fe494a5a9..d09182d2b 100644 --- a/src/stream/stream_api.c +++ b/src/stream/stream_api.c | |||
@@ -63,7 +63,7 @@ | |||
63 | /** | 63 | /** |
64 | * The maximum packet size of a stream packet | 64 | * The maximum packet size of a stream packet |
65 | */ | 65 | */ |
66 | #define MAX_PACKET_SIZE 64000 | 66 | #define DEFAULT_MAX_PAYLOAD_SIZE 64000 |
67 | 67 | ||
68 | /** | 68 | /** |
69 | * Receive buffer | 69 | * Receive buffer |
@@ -363,11 +363,6 @@ struct GNUNET_STREAM_Socket | |||
363 | uint32_t copy_offset; | 363 | uint32_t copy_offset; |
364 | 364 | ||
365 | /** | 365 | /** |
366 | * The maximum packet size this stream handle will give to mesh | ||
367 | */ | ||
368 | uint16_t max_packet_size; | ||
369 | |||
370 | /** | ||
371 | * The maximum size of the data message payload this stream handle can send | 366 | * The maximum size of the data message payload this stream handle can send |
372 | */ | 367 | */ |
373 | uint16_t max_payload_size; | 368 | uint16_t max_payload_size; |
@@ -445,9 +440,9 @@ struct GNUNET_STREAM_ListenSocket | |||
445 | uint32_t testing_set_write_sequence_number_value; | 440 | uint32_t testing_set_write_sequence_number_value; |
446 | 441 | ||
447 | /** | 442 | /** |
448 | * The maximum packet size this stream handle will give to mesh | 443 | * The maximum size of the data message payload this stream handle can send |
449 | */ | 444 | */ |
450 | uint16_t max_packet_size; | 445 | uint16_t max_payload_size; |
451 | 446 | ||
452 | }; | 447 | }; |
453 | 448 | ||
@@ -2788,9 +2783,7 @@ new_tunnel_notify (void *cls, | |||
2788 | socket->testing_active = lsocket->testing_active; | 2783 | socket->testing_active = lsocket->testing_active; |
2789 | socket->testing_set_write_sequence_number_value = | 2784 | socket->testing_set_write_sequence_number_value = |
2790 | lsocket->testing_set_write_sequence_number_value; | 2785 | lsocket->testing_set_write_sequence_number_value; |
2791 | socket->max_packet_size = lsocket->max_packet_size; | 2786 | socket->max_payload_size = lsocket->max_payload_size; |
2792 | socket->max_payload_size = | ||
2793 | socket->max_packet_size - sizeof (struct GNUNET_STREAM_DataMessage); | ||
2794 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 2787 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
2795 | "%s: Peer %s initiated tunnel to us\n", | 2788 | "%s: Peer %s initiated tunnel to us\n", |
2796 | GNUNET_i2s (&socket->other_peer), | 2789 | GNUNET_i2s (&socket->other_peer), |
@@ -2951,6 +2944,7 @@ GNUNET_STREAM_open (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
2951 | enum GNUNET_STREAM_Option option; | 2944 | enum GNUNET_STREAM_Option option; |
2952 | GNUNET_MESH_ApplicationType ports[] = {app_port, 0}; | 2945 | GNUNET_MESH_ApplicationType ports[] = {app_port, 0}; |
2953 | va_list vargs; | 2946 | va_list vargs; |
2947 | uint16_t payload_size; | ||
2954 | 2948 | ||
2955 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 2949 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
2956 | "%s\n", __func__); | 2950 | "%s\n", __func__); |
@@ -2962,7 +2956,7 @@ GNUNET_STREAM_open (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
2962 | /* Set defaults */ | 2956 | /* Set defaults */ |
2963 | socket->retransmit_timeout = TIME_REL_SECS (default_timeout); | 2957 | socket->retransmit_timeout = TIME_REL_SECS (default_timeout); |
2964 | socket->testing_active = GNUNET_NO; | 2958 | socket->testing_active = GNUNET_NO; |
2965 | socket->max_packet_size = MAX_PACKET_SIZE; | 2959 | socket->max_payload_size = DEFAULT_MAX_PAYLOAD_SIZE; |
2966 | va_start (vargs, open_cb_cls); /* Parse variable args */ | 2960 | va_start (vargs, open_cb_cls); /* Parse variable args */ |
2967 | do { | 2961 | do { |
2968 | option = va_arg (vargs, enum GNUNET_STREAM_Option); | 2962 | option = va_arg (vargs, enum GNUNET_STREAM_Option); |
@@ -2984,18 +2978,17 @@ GNUNET_STREAM_open (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
2984 | case GNUNET_STREAM_OPTION_SIGNAL_LISTEN_SUCCESS: | 2978 | case GNUNET_STREAM_OPTION_SIGNAL_LISTEN_SUCCESS: |
2985 | GNUNET_break (0); /* Option irrelevant in STREAM_open */ | 2979 | GNUNET_break (0); /* Option irrelevant in STREAM_open */ |
2986 | break; | 2980 | break; |
2987 | case GNUNET_STREAM_OPTION_MAX_PACKET_SIZE: | 2981 | case GNUNET_STREAM_OPTION_MAX_PAYLOAD_SIZE: |
2988 | socket->max_packet_size = (uint16_t) va_arg (vargs, unsigned int); | 2982 | payload_size = (uint16_t) va_arg (vargs, unsigned int); |
2989 | if (socket->max_packet_size > MAX_PACKET_SIZE) | 2983 | GNUNET_assert (0 != payload_size); |
2990 | socket->max_packet_size = MAX_PACKET_SIZE; | 2984 | if (payload_size < socket->max_payload_size) |
2985 | socket->max_payload_size = payload_size; | ||
2991 | break; | 2986 | break; |
2992 | case GNUNET_STREAM_OPTION_END: | 2987 | case GNUNET_STREAM_OPTION_END: |
2993 | break; | 2988 | break; |
2994 | } | 2989 | } |
2995 | } while (GNUNET_STREAM_OPTION_END != option); | 2990 | } while (GNUNET_STREAM_OPTION_END != option); |
2996 | va_end (vargs); /* End of variable args parsing */ | 2991 | va_end (vargs); /* End of variable args parsing */ |
2997 | socket->max_payload_size = | ||
2998 | socket->max_packet_size - sizeof (struct GNUNET_STREAM_DataMessage); | ||
2999 | socket->mesh = GNUNET_MESH_connect (cfg, /* the configuration handle */ | 2992 | socket->mesh = GNUNET_MESH_connect (cfg, /* the configuration handle */ |
3000 | socket, /* cls */ | 2993 | socket, /* cls */ |
3001 | NULL, /* No inbound tunnel handler */ | 2994 | NULL, /* No inbound tunnel handler */ |
@@ -3219,6 +3212,7 @@ GNUNET_STREAM_listen (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
3219 | struct GNUNET_TIME_Relative listen_timeout; | 3212 | struct GNUNET_TIME_Relative listen_timeout; |
3220 | enum GNUNET_STREAM_Option option; | 3213 | enum GNUNET_STREAM_Option option; |
3221 | va_list vargs; | 3214 | va_list vargs; |
3215 | uint16_t payload_size; | ||
3222 | 3216 | ||
3223 | GNUNET_assert (NULL != listen_cb); | 3217 | GNUNET_assert (NULL != listen_cb); |
3224 | lsocket = GNUNET_malloc (sizeof (struct GNUNET_STREAM_ListenSocket)); | 3218 | lsocket = GNUNET_malloc (sizeof (struct GNUNET_STREAM_ListenSocket)); |
@@ -3235,7 +3229,7 @@ GNUNET_STREAM_listen (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
3235 | lsocket->retransmit_timeout = TIME_REL_SECS (default_timeout); | 3229 | lsocket->retransmit_timeout = TIME_REL_SECS (default_timeout); |
3236 | lsocket->testing_active = GNUNET_NO; | 3230 | lsocket->testing_active = GNUNET_NO; |
3237 | lsocket->listen_ok_cb = NULL; | 3231 | lsocket->listen_ok_cb = NULL; |
3238 | lsocket->max_packet_size = MAX_PACKET_SIZE; | 3232 | lsocket->max_payload_size = DEFAULT_MAX_PAYLOAD_SIZE; |
3239 | listen_timeout = TIME_REL_SECS (60); /* A minute for listen timeout */ | 3233 | listen_timeout = TIME_REL_SECS (60); /* A minute for listen timeout */ |
3240 | va_start (vargs, listen_cb_cls); | 3234 | va_start (vargs, listen_cb_cls); |
3241 | do { | 3235 | do { |
@@ -3259,10 +3253,11 @@ GNUNET_STREAM_listen (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
3259 | lsocket->listen_ok_cb = va_arg (vargs, | 3253 | lsocket->listen_ok_cb = va_arg (vargs, |
3260 | GNUNET_STREAM_ListenSuccessCallback); | 3254 | GNUNET_STREAM_ListenSuccessCallback); |
3261 | break; | 3255 | break; |
3262 | case GNUNET_STREAM_OPTION_MAX_PACKET_SIZE: | 3256 | case GNUNET_STREAM_OPTION_MAX_PAYLOAD_SIZE: |
3263 | lsocket->max_packet_size = (uint16_t) va_arg (vargs, unsigned int); | 3257 | payload_size = (uint16_t) va_arg (vargs, unsigned int); |
3264 | if (lsocket->max_packet_size > MAX_PACKET_SIZE) | 3258 | GNUNET_assert (0 != payload_size); |
3265 | lsocket->max_packet_size = MAX_PACKET_SIZE; | 3259 | if (payload_size < lsocket->max_payload_size) |
3260 | lsocket->max_payload_size = payload_size; | ||
3266 | break; | 3261 | break; |
3267 | case GNUNET_STREAM_OPTION_END: | 3262 | case GNUNET_STREAM_OPTION_END: |
3268 | break; | 3263 | break; |
@@ -3331,14 +3326,15 @@ GNUNET_STREAM_write (struct GNUNET_STREAM_Socket *socket, | |||
3331 | GNUNET_STREAM_CompletionContinuation write_cont, | 3326 | GNUNET_STREAM_CompletionContinuation write_cont, |
3332 | void *write_cont_cls) | 3327 | void *write_cont_cls) |
3333 | { | 3328 | { |
3334 | unsigned int num_needed_packets; | ||
3335 | unsigned int packet; | ||
3336 | struct GNUNET_STREAM_IOWriteHandle *io_handle; | 3329 | struct GNUNET_STREAM_IOWriteHandle *io_handle; |
3337 | uint32_t packet_size; | ||
3338 | uint32_t payload_size; | ||
3339 | struct GNUNET_STREAM_DataMessage *data_msg; | 3330 | struct GNUNET_STREAM_DataMessage *data_msg; |
3340 | const void *sweep; | 3331 | const void *sweep; |
3341 | struct GNUNET_TIME_Relative ack_deadline; | 3332 | struct GNUNET_TIME_Relative ack_deadline; |
3333 | unsigned int num_needed_packets; | ||
3334 | unsigned int packet; | ||
3335 | uint32_t packet_size; | ||
3336 | uint32_t payload_size; | ||
3337 | uint16_t max_data_packet_size; | ||
3342 | 3338 | ||
3343 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 3339 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
3344 | "%s\n", __func__); | 3340 | "%s\n", __func__); |
@@ -3390,12 +3386,14 @@ GNUNET_STREAM_write (struct GNUNET_STREAM_Socket *socket, | |||
3390 | determined from RTT */ | 3386 | determined from RTT */ |
3391 | ack_deadline = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5); | 3387 | ack_deadline = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5); |
3392 | /* Divide the given buffer into packets for sending */ | 3388 | /* Divide the given buffer into packets for sending */ |
3389 | max_data_packet_size = | ||
3390 | socket->max_payload_size + sizeof (struct GNUNET_STREAM_DataMessage); | ||
3393 | for (packet=0; packet < num_needed_packets; packet++) | 3391 | for (packet=0; packet < num_needed_packets; packet++) |
3394 | { | 3392 | { |
3395 | if ((packet + 1) * socket->max_payload_size < size) | 3393 | if ((packet + 1) * socket->max_payload_size < size) |
3396 | { | 3394 | { |
3397 | payload_size = socket->max_payload_size; | 3395 | payload_size = socket->max_payload_size; |
3398 | packet_size = socket->max_packet_size; | 3396 | packet_size = max_data_packet_size; |
3399 | } | 3397 | } |
3400 | else | 3398 | else |
3401 | { | 3399 | { |