| 341 | |
| 342 | |
| 343 | bool NeighborTable::holdingOff(const char* address) |
| 344 | { |
| 345 | if (mDB == NULL) { return true; } // we already threw an ALERT. |
| 346 | unsigned holdoffTime; |
| 347 | if (!sqlite3_single_lookup(mDB,"NEIGHBOR_TABLE","IPADDRESS",address,"HOLDOFF",holdoffTime)) { |
| 348 | LOG(ALERT) << "cannot read neighbor table"; |
| 349 | return false; |
| 350 | } |
| 351 | time_t now = time(NULL); |
| 352 | LOG(DEBUG) << "hold-off time for " << address << ": " << holdoffTime << ", now: " << now; |
| 353 | return now < (time_t)holdoffTime; |
| 354 | } |
| 355 | |
| 356 | std::vector<unsigned> NeighborTable::getARFCNs() const |
| 357 | { |
no outgoing calls
no test coverage detected