int32_t TickLoader::getStrInstrumentId()

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;
}