get a real event t' such that t <= t'
| 118 | |
| 119 | // get a real event t' such that t <= t' |
| 120 | std::pair<uint64_t, CompNode::Event*> get_event( |
| 121 | CompNode cn, size_t cnid, uint64_t t, std::unique_lock<std::mutex>& lock) { |
| 122 | auto& cndata = m_cndata[cnid]; |
| 123 | auto it = cndata.events.lower_bound(t); |
| 124 | if (it == cndata.events.end()) { |
| 125 | it = do_record(cn, cnid, lock); |
| 126 | } |
| 127 | return {it->first, it->second.get()}; |
| 128 | } |
| 129 | |
| 130 | size_t get_cnid_unsafe(CompNode cn) { |
| 131 | auto [it, unseen] = m_cn2id.try_emplace(cn, m_cndata.size()); |