11#include < csignal> // sig_atomic_t
22#include < cstdint>
3+ #include < databento/constants.hpp>
4+ #include < databento/dbn.hpp>
5+ #include < databento/enums.hpp>
6+ #include < databento/live.hpp>
7+ #include < databento/live_threaded.hpp>
8+ #include < databento/log.hpp>
9+ #include < databento/record.hpp>
10+ #include < databento/symbol_map.hpp>
11+ #include < databento/with_ts_out.hpp>
312#include < iostream>
413#include < memory>
5- #include < unordered_map>
6-
7- #include " databento/constants.hpp"
8- #include " databento/dbn.hpp"
9- #include " databento/enums.hpp"
10- #include " databento/live.hpp"
11- #include " databento/live_threaded.hpp"
12- #include " databento/log.hpp"
13- #include " databento/record.hpp"
14- #include " databento/with_ts_out.hpp"
1514
1615static std::sig_atomic_t volatile gSignal ;
1716
1817int main () {
19- std::unordered_map<std:: uint32_t , std::string> symbol_mappings;
18+ databento::PitSymbolMap symbol_mappings;
2019 std::unique_ptr<databento::ILogReceiver> log_receiver{
2120 new databento::ConsoleLogReceiver{databento::LogLevel::Debug}};
2221
2322 auto client = databento::LiveBuilder{}
2423 .SetLogReceiver (log_receiver.get ())
2524 .SetKeyFromEnv ()
2625 .SetDataset (databento::dataset::kGlbxMdp3 )
26+ .SetUpgradePolicy (databento::VersionUpgradePolicy::Upgrade)
2727 .BuildThreaded ();
2828
2929 // Set up signal handler for Ctrl+C
@@ -44,7 +44,7 @@ int main() {
4444 case RType::Mbo: {
4545 auto ohlcv = rec.Get <databento::WithTsOut<databento::MboMsg>>();
4646 std::cout << " Received tick for "
47- << symbol_mappings. at ( ohlcv.rec .hd .instrument_id )
47+ << symbol_mappings[ ohlcv.rec .hd .instrument_id ]
4848 << " with ts_out " << ohlcv.ts_out .time_since_epoch ().count ()
4949 << " : " << ohlcv.rec << ' \n ' ;
5050 break ;
@@ -56,9 +56,7 @@ int main() {
5656 }
5757 case RType::SymbolMapping: {
5858 auto mapping = rec.Get <databento::SymbolMappingMsg>();
59- std::cout << " Received symbol mapping: " << mapping << ' \n ' ;
60- symbol_mappings.emplace (mapping.hd .instrument_id ,
61- mapping.STypeInSymbol ());
59+ symbol_mappings.OnSymbolMapping (mapping);
6260 break ;
6361 }
6462 case RType::System: {
0 commit comments