in src/tick_loader.cpp [182:198]
int32_t TickLoader::getStrInstrumentId(PyObject *message) {
std::string symbol;
bool exists = getStringValue(message, SYMBOL_PROPERTY, SYMBOL_PROPERTY1, symbol);
if (!exists)
return INT32_MIN;
if (symbol.empty())
THROW_EXCEPTION("Symbol is empty. Specify '%s' attribute for message.", SYMBOL_PROPERTY.c_str());
auto it = symbol_to_id_.find(symbol);
if (it != symbol_to_id_.end())
return it->second;
int32_t id = registerInstrument(symbol);
symbol_to_id_[symbol] = id;
return id;
}