| 684 | } |
| 685 | |
| 686 | bool ConfigStorage::findSession(ULONG sesId, ULONG& idx) |
| 687 | { |
| 688 | TraceCSHeader* header = m_sharedMemory->getHeader(); |
| 689 | |
| 690 | ULONG hi = header->slots_cnt, lo = 0; |
| 691 | while (hi > lo) |
| 692 | { |
| 693 | const ULONG temp = (hi + lo) >> 1; |
| 694 | if (sesId > header->slots[temp].ses_id) |
| 695 | lo = temp + 1; |
| 696 | else |
| 697 | hi = temp; |
| 698 | } |
| 699 | idx = lo; |
| 700 | return (hi != header->slots_cnt) && (header->slots[lo].ses_id <= sesId); |
| 701 | } |
| 702 | |
| 703 | void ConfigStorage::addSession(TraceSession& session) |
| 704 | { |