00001 /* 00002 * RouteResponse.h 00003 * 00004 * Created on: 25.07.2013 00005 * Author: Günther Cwioro 00006 */ 00007 00008 #ifndef ROUTERESPONSE_H_ 00009 #define ROUTERESPONSE_H_ 00010 00011 class RouteResponse { 00012 public: 00013 RouteResponse(RouteRequest req,unsigned char mac[6],uint8_t root_distance); 00014 RouteResponse(unsigned char* buffer); 00015 virtual ~RouteResponse(); 00016 int GetCrc32(const std::string& my_string); 00017 std::string getResponseAsNetworkString(unsigned char source_mac[6]); 00018 00019 struct ethhdr eh_; 00020 unsigned char mac_current_hop_[6]; 00021 unsigned char mac_next_hop_[6]; 00022 unsigned char mac_previous_hop_[6]; 00023 uint32_t request_id_; 00024 std::string hostname_source_; 00025 uint32_t hop_count_; 00026 uint32_t current_hop_; 00027 std::list<mac> path_l_; 00028 bool correct_crc_; 00029 uint8_t mc_flag_; 00030 uint8_t root_distance; 00031 00032 00033 static uint32_t HEADER_FIXED_LEN; 00034 00035 00036 }; 00037 00038 uint32_t RouteResponse::HEADER_FIXED_LEN = 37; 00039 #endif /* ROUTERESPONSE_H_ */