mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 12:40:35 +00:00
Add an IP address parser to enable specifying multiple clients in the Monitor block configuration
This commit is contained in:
parent
8184e0eb81
commit
4b620c5931
@ -1157,11 +1157,10 @@ void GNSSFlowgraph::init()
|
|||||||
*/
|
*/
|
||||||
enable_monitor_ = configuration_->property("Monitor.enable_monitor", false);
|
enable_monitor_ = configuration_->property("Monitor.enable_monitor", false);
|
||||||
|
|
||||||
std::vector<std::string> udp_addr_vec;
|
|
||||||
|
|
||||||
std::string address_string = configuration_->property("Monitor.client_addresses", std::string("127.0.0.1"));
|
std::string address_string = configuration_->property("Monitor.client_addresses", std::string("127.0.0.1"));
|
||||||
//todo: split the string in substrings using the separator and fill the address vector.
|
std::vector<std::string> udp_addr_vec = split_string(address_string, '_');
|
||||||
udp_addr_vec.push_back(address_string);
|
std::sort(udp_addr_vec.begin(), udp_addr_vec.end());
|
||||||
|
udp_addr_vec.erase(std::unique(udp_addr_vec.begin(), udp_addr_vec.end()), udp_addr_vec.end());
|
||||||
|
|
||||||
if (enable_monitor_)
|
if (enable_monitor_)
|
||||||
{
|
{
|
||||||
@ -1599,3 +1598,17 @@ Gnss_Signal GNSSFlowgraph::search_next_signal(std::string searched_signal, bool
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<std::string> GNSSFlowgraph::split_string(const std::string &s, char delim)
|
||||||
|
{
|
||||||
|
std::vector<std::string> v;
|
||||||
|
std::stringstream ss(s);
|
||||||
|
std::string item;
|
||||||
|
|
||||||
|
while (std::getline(ss, item, delim))
|
||||||
|
{
|
||||||
|
*(std::back_inserter(v)++) = item;
|
||||||
|
}
|
||||||
|
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
@ -186,6 +186,7 @@ private:
|
|||||||
|
|
||||||
bool enable_monitor_;
|
bool enable_monitor_;
|
||||||
gr::basic_block_sptr GnssSynchroMonitor_;
|
gr::basic_block_sptr GnssSynchroMonitor_;
|
||||||
|
std::vector<std::string> split_string(const std::string &s, char delim);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /*GNSS_SDR_GNSS_FLOWGRAPH_H_*/
|
#endif /*GNSS_SDR_GNSS_FLOWGRAPH_H_*/
|
||||||
|
Loading…
Reference in New Issue
Block a user