Eval ht and vht with ap info

This commit is contained in:
PolynomialDivision 2017-08-27 00:21:09 +02:00
parent 61cc5c1939
commit 65c89e361e
2 changed files with 33 additions and 6 deletions

View file

@ -92,6 +92,7 @@ pthread_mutex_t ap_array_mutex;
ap insert_to_ap_array(ap entry);
void print_ap_array();
void *remove_ap_array_thread(void *arg);
ap ap_array_get_ap(uint8_t bssid_addr[]);
// Array
#define ARRAY_CLIENT_LEN 1000

View file

@ -39,16 +39,21 @@ int ap_entry_last = -1;
int eval_probe_metric(struct probe_entry_s probe_entry) {
int score = 0;
/*
client ap_entry = client_array_get_ap(probe_entry.bssid_addr);
ap ap_entry = ap_array_get_ap(probe_entry.bssid_addr);
// check if ap entry is available
if(mac_is_equal(ap_entry.bssid_addr, probe_entry.bssid_addr)) {
ap_entry.
score += probe_entry.ht_support ? dawn_metric.vht_support : 0;
score += !probe_entry.ht_support && ap_entry.ht ? dawn_metric.n_ht_support : 0;
score += !probe_entry.vht_support && ap_entry.vht ? dawn_metric.n_vht_support : 0;
} else {
score += probe_entry.ht_support ? dawn_metric.vht_support : dawn_metric.n_vht_support;
score += probe_entry.vht_support ? dawn_metric.ht_support : dawn_metric.n_ht_support;
}*/
// maybe don't score vht and ht if no ap is available
//score += probe_entry.ht_support ? dawn_metric.vht_support : dawn_metric.n_vht_support;
//score += probe_entry.vht_support ? dawn_metric.ht_support : dawn_metric.n_ht_support;
}
score += (probe_entry.freq > 5000) ? dawn_metric.freq : 0;
score += (probe_entry.signal > -60) ? dawn_metric.rssi : 0;
@ -359,6 +364,27 @@ ap insert_to_ap_array(ap entry) {
return entry;
}
ap ap_array_get_ap(uint8_t bssid_addr[]) {
ap ret;
if (ap_entry_last == -1) {
return ret;
}
pthread_mutex_lock(&ap_array_mutex);
int i;
for (i = 0; i <= ap_entry_last; i++) {
if (mac_is_equal(bssid_addr, ap_array[i].bssid_addr) || mac_is_greater(bssid_addr, ap_array[i].bssid_addr)) {
break;
}
}
ret = ap_array[i];
pthread_mutex_unlock(&ap_array_mutex);
return ret;
}
void ap_array_insert(ap entry) {
if (ap_entry_last == -1) {
ap_array[0] = entry;