[openlr] Initialize OpenLR decoder with a single DataSource

Signed-off-by: mvglasow <michael -at- vonglasow.com>
This commit is contained in:
mvglasow
2025-05-11 19:03:10 +03:00
parent 382e46af63
commit d7facd5732
4 changed files with 18 additions and 27 deletions

View File

@@ -437,9 +437,9 @@ bool OpenLRDecoder::SegmentsFilter::Matches(LinearSegment const & segment) const
}
// OpenLRDecoder -----------------------------------------------------------------------------
OpenLRDecoder::OpenLRDecoder(vector<FrozenDataSource> & dataSources,
OpenLRDecoder::OpenLRDecoder(DataSource & dataSource,
CountryParentNameGetter const & countryParentNameGetter)
: m_dataSources(dataSources), m_countryParentNameGetter(countryParentNameGetter)
: m_dataSource(dataSource), m_countryParentNameGetter(countryParentNameGetter)
{
}
@@ -490,9 +490,9 @@ void OpenLRDecoder::Decode(vector<LinearSegment> const & segments,
vector<Stats> stats(numThreads);
vector<thread> workers;
for (size_t i = 1; i < numThreads; ++i)
workers.emplace_back(worker, i, ref(m_dataSources[i]), ref(stats[i]));
workers.emplace_back(worker, i, ref(m_dataSource), ref(stats[i]));
worker(0 /* threadNum */, m_dataSources[0], stats[0]);
worker(0 /* threadNum */, m_dataSource, stats[0]);
for (auto & worker : workers)
worker.join();