
FIXED ROUTING FORMATS (unlikely to change)
===============================================================================

transport_frames.csv (log upon every end-2-end (transport) frame )
#time,id,dst,retransmissions,start_time,end_time,success,route_length,route,multicast 
time                                    : timestamp (ms)
id                                 	: The unique ID of the frame
dst                                     : destination of the route request
retransmissions				: Number of retransmissions (if any)
start_time                              : Time the frame was sent (ms)
end_time                                : Time the ack of the frame was received (if any)
success					: Indicates if frame has been delived successfully
route	                                : The route the frame took in the form of the mac path
multicast				: true if multicast, unicast false


services.csv (log every time a service is called):
#time,service,time_call,time_res,data_size, return
time                                    : timestamp (ms)
service                                 : name of the service
time_call                               : time when service called (ms)
time_res                                : time when service responded (ms)
data_size                               : size of data passed to service call
return					: return value of the service call (1 or 0)

 

unicast_datalink_transmission_summary.csv (log every 5 seconds):
#time,num_unique_data_frames_sent,num_unique_data_frames_forwarded,num_data_frames_resent,num_data_frames_reforwarded,num_data_frames_relayed,num_acknowledgments_sent,num_acknowledgments_relayed,num_rreq_sent,num_rrep_sent,num_beacons_sent,num_relay_selection_sent,num_relay_detecion_sent,num_total_frames_sent,num_unique_data_frames_received_directly,num_unique_data_frames_received_relay,num_data_frames_received_directly,num_data_frames_received_relay,num_acknowledgments_received_directly,num_acknowledgments_received_relay,num_rreq_received,num_rrep_received,num_relay_selection_received,num_relay_detecion_received,num_duplicate_frames_received,num_beacons_received,num_total_frames_received
time					: timestamp (ms)
num_unique_data_frames_sent		: number of data frames transmitted as source (not including retransmissions) 
num_unique_data_frames_forwarded        : number of data frames forwarded (not including retransmissions) 
num_data_frames_resent                  : number of data frames retransmitted as source  
num_data_frames_reforwarded             : number of data frames reforwarded as intermediate node 
num_data_frames_relayed                 : number of data frames transmitted as relay 
num_acknowledgments_sent                : number of ACKs sent as destination 
num_acknowledgments_relayed             : number of ACKS sent as relay
num_rreq_sent                           : number of RREQ transmitted/forwarded 
num_rrep_sent                           : number of RREP transmitted/forwarded 
num_beacons_sent                        : number of beacons transmitted 
num_relay_selection_sent                : number of relay selection frames transmitted
num_relay_detection_sent                : number of relay detection frames transmitted
num_total_frames_sent                   : number of ALL frames transmitted 


num_unique_data_frames_received_directly: number of unique frames received directly (without retransmissions)
num_unique_data_frames_received_relay   : number of unique frames received via relay (without multiple receptions)
num_data_frames_received_directly       : number of all data frames received directly
num_data_frames_received_relay          : number of all data frames received via relay
num_acknowledgments_received_directly   : number of ACKs received directly
num_acknowledgments_received_relay      : number of ACKs received via relay
num_rreq_received                       : number of rreq received
num_rrep_received                       : number of rreq received   
num_relay_selection_received            : number of relay selection frames transmitted
num_relay_detection_received            : number of relay detection frames transmitted
num_duplicate_frames_received           : number of duplicate frames received
num_beacons_received                    : number of beacons received
num_total_frames_received               : number of ALL frames received/processed
num_total_bytes_sent                    : number of ALL bytes sent
num_total_bytes_received                : number of ALL bytes received

 


multicast.csv (log every 5 seconds):
#time,num_mc_unique_data_frames_sent,num_mc_unique_data_frames_forwarded,num_mc_data_frames_resent,num_mc_data_frames_reforwarded,num_mc_data_frames_relayed,num_mc_acknowledgments_sent,num_mc_acknowledgments_relayed,num_mc_rreq_sent,num_mc_rrep_sent,num_mc_ract_sent,num_mc_relay_selection_sent,num_mc_total_frames_sent,num_mc_unique_data_frames_received_directly,num_mc_unique_data_frames_received_relay,num_mc_data_frames_received_directly,num_mc_data_frames_received_relay,num_mc_acknowledgments_received_directly,num_mc_acknowledgments_received_relay,num_mc_rreq_received,num_mc_rrep_received,num_mc_ract_received,num_mc_relay_selection_received,num_mc_duplicate_frames_received,num_mc_total_frames_received
time					: timestamp (ms)
num_unique_data_frames_sent		: number of data frames transmitted as source (not including retransmissions)
num_unique_data_frames_forwarded        : number of data frames forwarded (not including retransmissions)
num_data_frames_resent                  : number of data frames retransmitted as source 
num_data_frames_reforwarded             : number of data frames reforwarded as intermediate node
num_data_frames_relayed                 : number of data frames transmitted as relay
num_acknowledgments_sent                : number of ACKs sent as destination
num_acknowledgments_relayed             : number of ACKS sent as relay
num_rreq_sent                           : number of RREQ transmitted/forwarded
num_rrep_sent                           : number of RREP transmitted/forwarded
num_ract_sent                           : number of route activation frames sent
num_relay_selection_sent                : number of relay selection frames transmitted
num_total_frames_sent                   : number of ALL frames transmitted

num_unique_data_frames_received_directly: number of unique frames received directly (without retransmissions)
num_unique_data_frames_received_relay   : number of unique frames received via relay (without multiple receptions)
num_data_frames_received_directly       : number of all data frames received directly
num_data_frames_received_relay          : number of all data frames received via relay
num_acknowledgments_received_directly   : number of ACKs received directly
num_acknowledgments_received_relay      : number of ACKs received via relay
num_rreq_received                       : number of rreq received
num_rrep_received                       : number of rreq received   
num_ract_received                       : number of route activation frames received
num_relay_selection_received            : number of relay selection frames transmitted
num_duplicate_frames_received           : number of duplicate frames received
num_total_frames_received               : number of ALL frames received/processed




packet_memory_consumption.csv (log every 5 seconds):
#time,size_multicast_packets_complete,size_multicast_packets_incomplete,size_unicast_packets_incomplete,size_unack_relay_frames
time					: timestamp (ms)
size_multicast_packets_complete         : size in bytes of the buffer holding complete packets received via multicast
size_multicast_packets_incomplete       : size in bytes of the buffer holding incomplete packets received via multicast
size_unicast_packets_incomplete         : size in bytes of the buffer holding complete packets received via unicast
size_unack_link_frames                  : frames transmitted on link leverl but not yet acknowledged
size_unack_relay_frames                 : frames buffered at a relay which have not yet been acknowledged
num_unicast_threads                     : number of currently running threads handling retransmissions for unicast
num_multicast_threads                   : number of currently running threads handling retransmissions for multicast
num_cr_threads                          : number of currently running threads handling retransmissions for cooperative relaying
num_transport_layer_threads             : number of currently running threads handling retransmissions for end-to-end transmissions





routing_table.csv (log upon every change of the routing table):
#time,num_cr_entries,num_unicast_entries,num_multicast_entries,size
time					: timestamp (ms)
num_cr_entries				: num routing entries for cooperative relaying
num_unicast_entries			: num routing entries for unicast
num_multicast_entries			: num routing entries for multicast
size					: size of all routing table entries (cr,unicast,multicast) in bytes




route_intermediate_node.csv (upon every rrep):
#time,num_relay_candidates_forward,num_relay_selected_forward,num_relay_candidates_backward,num_relay_selected_backward
time                                    : timestamp (ms)
num_relay_candidates_forward            : number of relay candidates in forward direction (towards destination)
num_relay_selected_forward              : number of relays selected in forward direction
num_relay_candidates_backward           : number of relay candidates in backward direction (towards source)
num_relay_selcted_backward              : number of relays selected in backward direction



rreq_initiater.csv (log upon every initiated route request):
#time,rreq_id,dst,start_time,end_time,num_rrep_rcvd,num_rreq_sent,route_length,route, multicast
time                                    : timestamp (ms)
rreq_id                                 : The unique ID of the route request
dst                                     : destination of the route request
start_time                              : Time the rreq was sent (ms)
end_time                                : Time the rrep was received (if any, otherwise empty/0)
num_rrep_rcvd				: Number of received mc routes
num_rreq_sent                           : Number of route request sent, if multiple where unsuccessful
route_length                            : If route received, length of the route
route                                   : The route selected in the form of the mac path 
multicast				: true if multicast, unicast false




rreq_receiver.csv (log upon every received route request):
#time,rreq_id,counter,route_length,selected,route
time                                    : timestamp (ms)
rreq_id                                 : The unique ID of the route request
src                                     : source of the route request
counter                                 : the 'counter' received route request
route_length                            : If route received, length of the route 
selected                                : If this route is selected and returned to the source ???
route                                   : The route received in the form of the mac path 



rreq_intermediate.csv (log upon every received route request):
#time,rreq_id,rcvd_from
time                                    : timestamp (ms)
rreq_id                                 : ID of the route request
rcvd_from                               : robot the route request was received from







VOLATILE ROUTING FORMATS (likely to change/undecided)
===============================================================================

unicast_link_transmission.csv (log upon every link ack transmitted):
#time,src,frame_id,mac_src, mac_dst,time_sent,time_ack,retransmissions
time					: timestamp (ms)
src					: The hostname of the source
frame_id				: The unique ID of the frame
mac_src					: The mac address of the source
mac_dst			                : The mac address of the next hop
time_sent		                : Time (ms) the frame was transmitted.
time_ack		                : Time (ms) the ACK was received. If no ACK is received, empty/0
retransmissions				: Number link retransmissions





OR

unicast_transmission.csv (log every X seconds):
#time,packet_id,dst,time_sent,time_ack
time					: timestamp (ms)
frame_id				: The unique ID of the frame
dst			                : Destination of the frame
time_sent		                : Time (ms) the frame was transmitted.
time_ack		                : Time (ms) the ACK was received. If no ACK is received, empty/0



transmission_multicast.csv (log every X seconds):
#time,num_children,







