LCOV - code coverage report
Current view: top level - route - route.cc (source / functions) Hit Total Coverage
Test: OpenSDN C/C++ coverage (all TARGET_SET jobs) Lines: 26 26 100.0 %
Date: 2026-05-25 17:28:47 Functions: 6 7 85.7 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
       3             :  */
       4             : 
       5             : #include "route/route.h"
       6             : 
       7             : #include "base/time_util.h"
       8             : 
       9     4296967 : Route::Route() {
      10     4296727 : }
      11             : 
      12     4296086 : Route::~Route() {
      13     4296086 : }
      14             : 
      15             : // Selected path
      16     8800932 : const Path *Route::front() const {
      17     8800932 :     PathList::const_iterator it = path_.begin();
      18    17599364 :     if (it == path_.end())
      19     2342552 :         return NULL;
      20     6456807 :     return it.operator->();
      21             : }
      22             : 
      23             : // Insert a path
      24     1044537 : void Route::insert(const Path *ipath) {
      25     1044537 :     Path *path = const_cast<Path *> (ipath);
      26             : 
      27     1044537 :     path->set_time_stamp_usecs(UTCTimestampUsec());
      28     1044590 :     path_.push_back(*path);
      29     1044534 : }
      30             : 
      31             : // Remove a path
      32     1043719 : void Route::remove(const Path *ipath) {
      33     1043719 :     Path *path = const_cast<Path *> (ipath);
      34             : 
      35     1043719 :     path->set_time_stamp_usecs(UTCTimestampUsec());
      36     1044284 :     PathList::const_iterator eraseIt = path_.iterator_to(*path);
      37     2087862 :     path_.erase(eraseIt);
      38     1044168 : }
      39             : 
      40     2315005 : void Route::Sort(Compare compare, const Path *prev_front) {
      41     2315005 :     path_.sort(compare);
      42             : 
      43     2314883 :     set_last_update_at_to_now();
      44             :     // If the best path changes, update route's time stamp.
      45     2314909 :     if (prev_front != front()) {
      46     1980925 :         set_last_change_at_to_now();
      47             :     }
      48     2314623 : }

Generated by: LCOV version 1.14