diff options
author | David Brodski <david@brodski.eu> | 2011-09-21 19:27:22 +0000 |
---|---|---|
committer | David Brodski <david@brodski.eu> | 2011-09-21 19:27:22 +0000 |
commit | cdaabfb92e4a9148c49888e814a428421eab29f3 (patch) | |
tree | 14bc10cb5e9b1a7241e33452ad08d05039eb8f1d /src/transport/plugin_transport_wlan.c | |
parent | 7e8a0c80d5c74bb682be8933c1dd1d71dcb2a099 (diff) | |
download | gnunet-cdaabfb92e4a9148c49888e814a428421eab29f3.tar.gz gnunet-cdaabfb92e4a9148c49888e814a428421eab29f3.zip |
Bugfixes and statistics added
Diffstat (limited to 'src/transport/plugin_transport_wlan.c')
-rw-r--r-- | src/transport/plugin_transport_wlan.c | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/src/transport/plugin_transport_wlan.c b/src/transport/plugin_transport_wlan.c index 1c65f5bcf..07e61c4c5 100644 --- a/src/transport/plugin_transport_wlan.c +++ b/src/transport/plugin_transport_wlan.c | |||
@@ -817,11 +817,7 @@ wlan_plugin_address_to_string (void *cls, const void *addr, size_t addrlen) | |||
817 | GNUNET_snprintf (ret, sizeof (ret), "%s Mac-Address %X:%X:%X:%X:%X:%X", | 817 | GNUNET_snprintf (ret, sizeof (ret), "%s Mac-Address %X:%X:%X:%X:%X:%X", |
818 | PROTOCOL_PREFIX, mac->mac[0], mac->mac[1], mac->mac[2], | 818 | PROTOCOL_PREFIX, mac->mac[0], mac->mac[1], mac->mac[2], |
819 | mac->mac[3], mac->mac[4], mac->mac[5]); | 819 | mac->mac[3], mac->mac[4], mac->mac[5]); |
820 | #if DEBUG_wlan | 820 | |
821 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, PLUGIN_LOG_NAME, | ||
822 | "Func wlan_plugin_address_to_string made string: %s\n", | ||
823 | ret); | ||
824 | #endif | ||
825 | return ret; | 821 | return ret; |
826 | } | 822 | } |
827 | 823 | ||
@@ -845,6 +841,7 @@ session_timeout (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
845 | (GNUNET_TIME_absolute_add | 841 | (GNUNET_TIME_absolute_add |
846 | (queue->content->last_activity, SESSION_TIMEOUT)).rel_value == 0) | 842 | (queue->content->last_activity, SESSION_TIMEOUT)).rel_value == 0) |
847 | { | 843 | { |
844 | GNUNET_STATISTICS_update (queue->content->mac->plugin->env->stats, _("# wlan session timeouts"), 1, GNUNET_NO); | ||
848 | free_session (queue->content->mac->plugin, queue, GNUNET_YES); | 845 | free_session (queue->content->mac->plugin, queue, GNUNET_YES); |
849 | } | 846 | } |
850 | else | 847 | else |
@@ -868,6 +865,7 @@ create_session (struct Plugin *plugin, struct MacEndpoint *endpoint, | |||
868 | const struct GNUNET_PeerIdentity *peer) | 865 | const struct GNUNET_PeerIdentity *peer) |
869 | { | 866 | { |
870 | GNUNET_assert (endpoint != NULL); | 867 | GNUNET_assert (endpoint != NULL); |
868 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan session created"), 1, GNUNET_NO); | ||
871 | struct Sessionqueue *queue = | 869 | struct Sessionqueue *queue = |
872 | GNUNET_malloc (sizeof (struct Sessionqueue) + sizeof (struct Session)); | 870 | GNUNET_malloc (sizeof (struct Sessionqueue) + sizeof (struct Session)); |
873 | 871 | ||
@@ -1407,6 +1405,8 @@ send_hello_beacon (struct Plugin *plugin) | |||
1407 | struct GNUNET_MessageHeader *msgheader2; | 1405 | struct GNUNET_MessageHeader *msgheader2; |
1408 | const struct GNUNET_MessageHeader *hello; | 1406 | const struct GNUNET_MessageHeader *hello; |
1409 | 1407 | ||
1408 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan hello beacons send"), 1, GNUNET_NO); | ||
1409 | |||
1410 | hello = plugin->env->get_our_hello (); | 1410 | hello = plugin->env->get_our_hello (); |
1411 | hallo_size = GNUNET_HELLO_size ((struct GNUNET_HELLO_Message *) hello); | 1411 | hallo_size = GNUNET_HELLO_size ((struct GNUNET_HELLO_Message *) hello); |
1412 | GNUNET_assert (sizeof (struct WlanHeader) + hallo_size <= WLAN_MTU); | 1412 | GNUNET_assert (sizeof (struct WlanHeader) + hallo_size <= WLAN_MTU); |
@@ -1621,6 +1621,8 @@ send_ack (struct Plugin *plugin, struct AckSendQueue *ack) | |||
1621 | ntohs (ack->hdr->size) - sizeof (struct Radiotap_Send)); | 1621 | ntohs (ack->hdr->size) - sizeof (struct Radiotap_Send)); |
1622 | #endif | 1622 | #endif |
1623 | 1623 | ||
1624 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan acks send"), 1, GNUNET_NO); | ||
1625 | |||
1624 | getRadiotapHeader (plugin, ack->endpoint, ack->radioHeader); | 1626 | getRadiotapHeader (plugin, ack->endpoint, ack->radioHeader); |
1625 | getWlanHeader (ack->ieeewlanheader, &ack->endpoint->addr, plugin, | 1627 | getWlanHeader (ack->ieeewlanheader, &ack->endpoint->addr, plugin, |
1626 | ntohs (ack->hdr->size)); | 1628 | ntohs (ack->hdr->size)); |
@@ -1725,6 +1727,8 @@ do_transmit (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1725 | 1727 | ||
1726 | if (plugin->sending_messages_head != NULL) | 1728 | if (plugin->sending_messages_head != NULL) |
1727 | { | 1729 | { |
1730 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan fragments send"), 1, GNUNET_NO); | ||
1731 | |||
1728 | fmq = plugin->sending_messages_head; | 1732 | fmq = plugin->sending_messages_head; |
1729 | fm = fmq->content; | 1733 | fm = fmq->content; |
1730 | GNUNET_CONTAINER_DLL_remove (plugin->sending_messages_head, | 1734 | GNUNET_CONTAINER_DLL_remove (plugin->sending_messages_head, |
@@ -1881,6 +1885,8 @@ wlan_plugin_send (void *cls, const struct GNUNET_PeerIdentity *target, | |||
1881 | } | 1885 | } |
1882 | } | 1886 | } |
1883 | 1887 | ||
1888 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan messages queued"), 1, GNUNET_NO); | ||
1889 | |||
1884 | //queue message: | 1890 | //queue message: |
1885 | 1891 | ||
1886 | //queue message in session | 1892 | //queue message in session |
@@ -2175,6 +2181,7 @@ wlan_data_message_handler (void *cls, const struct GNUNET_MessageHeader *hdr) | |||
2175 | return; | 2181 | return; |
2176 | } | 2182 | } |
2177 | 2183 | ||
2184 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan whole messages received"), 1, GNUNET_NO); | ||
2178 | wlanheader = (struct WlanHeader *) hdr; | 2185 | wlanheader = (struct WlanHeader *) hdr; |
2179 | 2186 | ||
2180 | session = search_session (plugin, endpoint, &wlanheader->source); | 2187 | session = search_session (plugin, endpoint, &wlanheader->source); |
@@ -2367,7 +2374,12 @@ wlan_data_helper (void *cls, struct Session_light *session_light, | |||
2367 | ((const struct GNUNET_HELLO_Message *) hdr, | 2374 | ((const struct GNUNET_HELLO_Message *) hdr, |
2368 | &tmpsource) == GNUNET_OK) | 2375 | &tmpsource) == GNUNET_OK) |
2369 | { | 2376 | { |
2370 | session_light->session = create_session (plugin, session_light->macendpoint, &tmpsource); | 2377 | session_light->session = search_session (plugin, session_light->macendpoint, &tmpsource); |
2378 | if (session_light->session == NULL) | ||
2379 | { | ||
2380 | session_light->session = create_session (plugin, session_light->macendpoint, &tmpsource); | ||
2381 | } | ||
2382 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan hallo messages received"), 1, GNUNET_NO); | ||
2371 | plugin->env->receive(plugin->env->cls,&session_light->session->target,hdr, NULL, 0, session_light->session, | 2383 | plugin->env->receive(plugin->env->cls,&session_light->session->target,hdr, NULL, 0, session_light->session, |
2372 | (const char *) &session_light->session->mac->addr, | 2384 | (const char *) &session_light->session->mac->addr, |
2373 | sizeof (session_light->session->mac->addr)); | 2385 | sizeof (session_light->session->mac->addr)); |
@@ -2400,7 +2412,7 @@ wlan_data_helper (void *cls, struct Session_light *session_light, | |||
2400 | session_light->addr.mac, | 2412 | session_light->addr.mac, |
2401 | 6)); | 2413 | 6)); |
2402 | #endif | 2414 | #endif |
2403 | 2415 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan fragments received"), 1, GNUNET_NO); | |
2404 | int ret = | 2416 | int ret = |
2405 | GNUNET_DEFRAGMENT_process_fragment (session_light->macendpoint->defrag, | 2417 | GNUNET_DEFRAGMENT_process_fragment (session_light->macendpoint->defrag, |
2406 | hdr); | 2418 | hdr); |
@@ -2452,6 +2464,7 @@ wlan_data_helper (void *cls, struct Session_light *session_light, | |||
2452 | while (fm != NULL) | 2464 | while (fm != NULL) |
2453 | { | 2465 | { |
2454 | fm2 = fm->next; | 2466 | fm2 = fm->next; |
2467 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan acks received"), 1, GNUNET_NO); | ||
2455 | int ret = GNUNET_FRAGMENT_process_ack (fm->fragcontext, hdr); | 2468 | int ret = GNUNET_FRAGMENT_process_ack (fm->fragcontext, hdr); |
2456 | 2469 | ||
2457 | if (ret == GNUNET_OK) | 2470 | if (ret == GNUNET_OK) |
@@ -2543,6 +2556,7 @@ macendpoint_timeout (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
2543 | (GNUNET_TIME_absolute_add | 2556 | (GNUNET_TIME_absolute_add |
2544 | (endpoint->last_activity, MACENDPOINT_TIMEOUT)).rel_value == 0) | 2557 | (endpoint->last_activity, MACENDPOINT_TIMEOUT)).rel_value == 0) |
2545 | { | 2558 | { |
2559 | GNUNET_STATISTICS_update (endpoint->plugin->env->stats, _("# wlan mac endpoints timeouts"), 1, GNUNET_NO); | ||
2546 | free_macendpoint (endpoint->plugin, endpoint); | 2560 | free_macendpoint (endpoint->plugin, endpoint); |
2547 | } | 2561 | } |
2548 | else | 2562 | else |
@@ -2564,6 +2578,7 @@ create_macendpoint (struct Plugin *plugin, const struct MacAddress *addr) | |||
2564 | { | 2578 | { |
2565 | struct MacEndpoint *newend = GNUNET_malloc (sizeof (struct MacEndpoint)); | 2579 | struct MacEndpoint *newend = GNUNET_malloc (sizeof (struct MacEndpoint)); |
2566 | 2580 | ||
2581 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan mac endpoints created"), 1, GNUNET_NO); | ||
2567 | newend->addr = *addr; | 2582 | newend->addr = *addr; |
2568 | newend->plugin = plugin; | 2583 | newend->plugin = plugin; |
2569 | newend->addr = *addr; | 2584 | newend->addr = *addr; |
@@ -2613,10 +2628,10 @@ wlan_process_helper (void *cls, void *client, | |||
2613 | case GNUNET_MESSAGE_TYPE_WLAN_HELPER_DATA: | 2628 | case GNUNET_MESSAGE_TYPE_WLAN_HELPER_DATA: |
2614 | #if DEBUG_wlan | 2629 | #if DEBUG_wlan |
2615 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, PLUGIN_LOG_NAME, | 2630 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, PLUGIN_LOG_NAME, |
2616 | "Func wlan_process_helper got GNUNET_MESSAGE_TYPE_WLAN_HELPER_DATA size: %u\n", | 2631 | "Func wlan_process_helper got GNUNET_MESSAGE_TYPE_WLAN_HELPER_DATA size: %u\n", |
2617 | ntohs (hdr->size)); | 2632 | ntohs (hdr->size)); |
2618 | #endif | 2633 | #endif |
2619 | 2634 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan WLAN_HELPER_DATA received"), 1, GNUNET_NO); | |
2620 | //call wlan_process_helper with the message inside, later with wlan: analyze signal | 2635 | //call wlan_process_helper with the message inside, later with wlan: analyze signal |
2621 | if (ntohs (hdr->size) < | 2636 | if (ntohs (hdr->size) < |
2622 | sizeof (struct ieee80211_frame) + 2*sizeof (struct GNUNET_MessageHeader) + | 2637 | sizeof (struct ieee80211_frame) + 2*sizeof (struct GNUNET_MessageHeader) + |
@@ -2667,6 +2682,7 @@ wlan_process_helper (void *cls, void *client, | |||
2667 | memcpy (&session_light->addr, &(wlanIeeeHeader->i_addr2), | 2682 | memcpy (&session_light->addr, &(wlanIeeeHeader->i_addr2), |
2668 | sizeof (struct MacAddress)); | 2683 | sizeof (struct MacAddress)); |
2669 | //session_light->session = search_session(plugin,session_light->addr); | 2684 | //session_light->session = search_session(plugin,session_light->addr); |
2685 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan messaged for this client received"), 1, GNUNET_NO); | ||
2670 | 2686 | ||
2671 | pos = 0; | 2687 | pos = 0; |
2672 | while (pos < datasize) | 2688 | while (pos < datasize) |
@@ -2674,7 +2690,8 @@ wlan_process_helper (void *cls, void *client, | |||
2674 | temp_hdr = (struct GNUNET_MessageHeader *) &wlanIeeeHeader[1] + pos; | 2690 | temp_hdr = (struct GNUNET_MessageHeader *) &wlanIeeeHeader[1] + pos; |
2675 | if (ntohs(temp_hdr->size) <= datasize + pos) | 2691 | if (ntohs(temp_hdr->size) <= datasize + pos) |
2676 | { | 2692 | { |
2677 | wlan_data_helper (plugin, session_light, temp_hdr, rxinfo); | 2693 | GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan messaged in WLAN_HELPER_DATA received"), 1, GNUNET_NO); |
2694 | wlan_data_helper (plugin, session_light, temp_hdr, rxinfo); | ||
2678 | } | 2695 | } |
2679 | else | 2696 | else |
2680 | { | 2697 | { |