#include "gnunet_common.h"
#include "gnunet_crypto_lib.h"
#include "gnunet_fragmentation_lib.h"
+#include "gnunet_constants.h"
//#include "wlan/ieee80211.h"
//#include <netinet/ip.h>
/**
* time out of a session
*/
-#define SESSION_TIMEOUT GNUNET_TIME_UNIT_MINUTES
+#define SESSION_TIMEOUT GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT
/**
* time out of a mac endpoint
*/
-#define MACENDPOINT_TIMEOUT GNUNET_TIME_UNIT_MINUTES
+#define MACENDPOINT_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT, 2)
/**
* scaling factor for hello beacon
GNUNET_CONTAINER_DLL_insert_tail (plugin->pending_Sessions_head,
plugin->pending_Sessions_tail, queue);
plugin->pendingsessions++;
+ GNUNET_STATISTICS_set(plugin->env->stats, _("# wlan pending sessions"), plugin->pendingsessions, GNUNET_NO);
}
}
sessionqueue_alt = sessionqueue;
sessionqueue = sessionqueue->next;
plugin->pendingsessions--;
+ GNUNET_STATISTICS_set(plugin->env->stats, _("# wlan pending sessions"), plugin->pendingsessions, GNUNET_NO);
GNUNET_CONTAINER_DLL_remove (plugin->pending_Sessions_head,
plugin->pending_Sessions_tail,
sessionqueue_alt);
FRAGMENT_QUEUE_MESSAGES_OUT_PER_SESSION))
{
plugin->pendingsessions--;
+ GNUNET_STATISTICS_set(plugin->env->stats, _("# wlan pending sessions"), plugin->pendingsessions, GNUNET_NO);
GNUNET_CONTAINER_DLL_remove (plugin->pending_Sessions_head,
plugin->pending_Sessions_tail,
sessionqueue);
sessionqueue_alt = sessionqueue;
sessionqueue = sessionqueue->next;
plugin->pendingsessions--;
+ GNUNET_STATISTICS_set(plugin->env->stats, _("# wlan pending sessions"), plugin->pendingsessions, GNUNET_NO);
GNUNET_CONTAINER_DLL_remove (plugin->pending_Sessions_head,
plugin->pending_Sessions_tail,
sessionqueue_alt);
struct FragmentMessage *fmnext;
int check = 0;
+ GNUNET_assert (plugin != NULL);
GNUNET_assert (queue != NULL);
GNUNET_assert (queue->content != NULL);
pendingsession = plugin->pending_Sessions_head;
while (pendingsession != NULL)
{
- pendingsession_tmp = pendingsession->next;
- if (pendingsession->content == queue->content)
+ pendingsession_tmp = pendingsession;
+ pendingsession = pendingsession->next;
+ GNUNET_assert (pendingsession_tmp->content != NULL);
+ if (pendingsession_tmp->content == queue->content)
{
plugin->pendingsessions--;
+ GNUNET_STATISTICS_set(plugin->env->stats, _("# wlan pending sessions"), plugin->pendingsessions, GNUNET_NO);
GNUNET_CONTAINER_DLL_remove (plugin->pending_Sessions_head,
plugin->pending_Sessions_tail,
- pendingsession);
- GNUNET_free (pendingsession);
+ pendingsession_tmp);
+ GNUNET_free (pendingsession_tmp);
GNUNET_assert (check == 0);
check = 1;
}
- pendingsession = pendingsession_tmp;
}
endpoint = queue->content->mac;
temp_hdr = (struct GNUNET_MessageHeader *) &wlanIeeeHeader[1] + pos;
if (ntohs(temp_hdr->size) <= datasize + pos)
{
- GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan messaged in WLAN_HELPER_DATA received"), 1, GNUNET_NO);
+ GNUNET_STATISTICS_update (plugin->env->stats, _("# wlan messaged inside WLAN_HELPER_DATA received"), 1, GNUNET_NO);
wlan_data_helper (plugin, session_light, temp_hdr, rxinfo);
}
else
plugin = GNUNET_malloc (sizeof (struct Plugin));
plugin->env = env;
plugin->pendingsessions = 0;
+ GNUNET_STATISTICS_set(plugin->env->stats, _("# wlan pending sessions"), plugin->pendingsessions, GNUNET_NO);
plugin->mac_count = 0;
plugin->server_write_task = GNUNET_SCHEDULER_NO_TASK;
plugin->server_read_task = GNUNET_SCHEDULER_NO_TASK;
api->address_pretty_printer = &wlan_plugin_address_pretty_printer;
api->check_address = &wlan_plugin_address_suggested;
api->address_to_string = &wlan_plugin_address_to_string;
+
//read config
if (GNUNET_CONFIGURATION_have_value (env->cfg, "transport-wlan", "TESTMODE"))