[Aggregator] Handle the packet numbering
This commit is contained in:
parent
1cc1ce4302
commit
5ab5b4f22f
|
@ -35,6 +35,8 @@
|
|||
/* Linked list storing data of each request */
|
||||
typedef struct _request_info_list
|
||||
{
|
||||
// Number of the current packet:
|
||||
uint16_t packet_id ;
|
||||
// MAC address of the transmitter AP (in bytes):
|
||||
uint8_t ap_mac_addr_bytes[ETHER_ADDR_LEN] ;
|
||||
// Signal strength received by the AP from the mobile:
|
||||
|
@ -48,6 +50,9 @@ typedef struct _request_list
|
|||
{
|
||||
uint8_t type ;
|
||||
|
||||
// Number of packets sent by the mobile for this request:
|
||||
uint16_t nb_packets ;
|
||||
|
||||
/* Request identifier */
|
||||
// Mobile MAC address (in bytes):
|
||||
uint8_t mobile_mac_addr_bytes[ETHER_ADDR_LEN] ;
|
||||
|
|
|
@ -501,6 +501,8 @@ int read_loop(int sockfd)
|
|||
request.x_position = owl_ntohf(request.x_position) ;
|
||||
request.y_position = owl_ntohf(request.y_position) ;
|
||||
request.z_position = owl_ntohf(request.z_position) ;
|
||||
request.packet_id = ntohs(request.packet_id) ;
|
||||
request.nb_packets = ntohs(request.nb_packets) ;
|
||||
|
||||
if (VERBOSE_REQUESTS)
|
||||
{
|
||||
|
@ -529,13 +531,14 @@ int read_loop(int sockfd)
|
|||
"\tAP MAC: %s\n"
|
||||
"\tMobile MAC: %s\n"
|
||||
"\tMobile IP: %s\n"
|
||||
"\tSequence number (request timestamp): %s\n"
|
||||
"\tRequest timestamp: %s\n"
|
||||
"\tRequest arrival time on the AP: %s\n"
|
||||
"\tSignal: %d dBm\n"
|
||||
"\tPosition X: %f\n"
|
||||
"\tPosition Y: %f\n"
|
||||
"\tPosition Z: %f\n"
|
||||
"\tDirection: %"PRIu8"\n"
|
||||
"\tPacket number: %"PRIu16"/%"PRIu16"\n"
|
||||
,
|
||||
request.type,
|
||||
ap_mac_addr_str,
|
||||
|
@ -547,7 +550,9 @@ int read_loop(int sockfd)
|
|||
request.x_position,
|
||||
request.y_position,
|
||||
request.z_position,
|
||||
request.direction
|
||||
request.direction,
|
||||
request.packet_id,
|
||||
request.nb_packets
|
||||
) ;
|
||||
}
|
||||
else if (VERBOSE_CHATTERBOX)
|
||||
|
@ -643,8 +648,10 @@ void* monitor_requests(void *NULL_value)
|
|||
mac_str) ;
|
||||
fprintf(fd, "%s;", mac_str) ;
|
||||
|
||||
// Print request type to the output file
|
||||
fprintf(fd, "%"PRIu8";", request_ptr->type) ;
|
||||
// Print request type & number of packets to the
|
||||
// output file
|
||||
fprintf(fd, "%"PRIu8";%"PRIu16";",
|
||||
request_ptr->type, request_ptr->nb_packets) ;
|
||||
|
||||
// Print request mobile timestamp to the output file
|
||||
owl_timestamp_to_string(&request_ptr->request_time,
|
||||
|
@ -660,6 +667,7 @@ void* monitor_requests(void *NULL_value)
|
|||
|
||||
// Initialise owl_request fields:
|
||||
request.type = request_ptr->type ;
|
||||
request.nb_packets = htons(request_ptr->nb_packets) ;
|
||||
memcpy(request.mobile_mac_addr_bytes,
|
||||
request_ptr->mobile_mac_addr_bytes,
|
||||
ETHER_ADDR_LEN) ;
|
||||
|
@ -690,6 +698,8 @@ void* monitor_requests(void *NULL_value)
|
|||
while (request_info_ptr != NULL)
|
||||
{
|
||||
// Send AP info to the localisation server
|
||||
info.packet_id =
|
||||
htons(request_info_ptr->packet_id) ;
|
||||
memcpy(info.ap_mac_addr_bytes,
|
||||
request_info_ptr->ap_mac_addr_bytes,
|
||||
ETHER_ADDR_LEN) ;
|
||||
|
@ -701,8 +711,9 @@ void* monitor_requests(void *NULL_value)
|
|||
owl_mac_bytes_to_string_r(request_info_ptr->
|
||||
ap_mac_addr_bytes,
|
||||
mac_str) ;
|
||||
fprintf(fd, ";%s;%d",
|
||||
fprintf(fd, ";%s;%"PRIu16";%d",
|
||||
mac_str,
|
||||
request_info_ptr->packet_id,
|
||||
request_info_ptr->ss_dbm - 256) ;
|
||||
|
||||
// Delete request
|
||||
|
@ -772,6 +783,7 @@ void got_request(owl_captured_request request)
|
|||
|
||||
/* Create a new request */
|
||||
tmp_info = malloc(sizeof(request_info_list)) ;
|
||||
tmp_info->packet_id = request.packet_id ;
|
||||
memcpy(tmp_info->ap_mac_addr_bytes, request.ap_mac_addr_bytes,
|
||||
ETHER_ADDR_LEN) ;
|
||||
tmp_info->ss_dbm = request.ss_dbm ;
|
||||
|
@ -788,6 +800,7 @@ void got_request(owl_captured_request request)
|
|||
owl_mac_bytes_to_string(request.ap_mac_addr_bytes)) ;
|
||||
tmp_request = malloc(sizeof(request_list)) ; // create it.
|
||||
tmp_request->type = request.type ;
|
||||
tmp_request->nb_packets = request.nb_packets ;
|
||||
memcpy(tmp_request->mobile_mac_addr_bytes,
|
||||
request.mobile_mac_addr_bytes, ETHER_ADDR_LEN) ;
|
||||
// Explicit packet:
|
||||
|
@ -848,6 +861,7 @@ void got_request(owl_captured_request request)
|
|||
owl_mac_bytes_to_string(request.ap_mac_addr_bytes)) ;
|
||||
tmp_request = malloc(sizeof(request_list)) ; // create it
|
||||
tmp_request->type = request.type ;
|
||||
tmp_request->nb_packets = request.nb_packets ;
|
||||
memcpy(tmp_request->mobile_mac_addr_bytes,
|
||||
request.mobile_mac_addr_bytes, ETHER_ADDR_LEN) ;
|
||||
// Explicit packet:
|
||||
|
|
Loading…
Reference in New Issue