bdecode_node dht_direct_response_alert::response() const { if (m_response_size == 0) return bdecode_node(); char const* start = m_alloc.ptr(m_response_idx); char const* end = start + m_response_size; error_code ec; bdecode_node ret; bdecode(start, end, ret, ec); TORRENT_ASSERT(!ec); return ret; }
// This function looks up keys from the info-dictionary of the loaded // torrent file. It can be used to access extension values put in the // .torrent file. If the specified key cannot be found, it returns NULL. bdecode_node info(char const* key) const { if (m_info_dict.type() == bdecode_node::none_t) { error_code ec; bdecode(m_info_section.get(), m_info_section.get() + m_info_section_size, m_info_dict, ec); if (ec) return bdecode_node(); } return m_info_dict.dict_find(key); }