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-15 13:12:55 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     4269505 : Route::Route() {
      10     4269378 : }
      11             : 
      12     4268715 : Route::~Route() {
      13     4268715 : }
      14             : 
      15             : // Selected path
      16     8660947 : const Path *Route::front() const {
      17     8660947 :     PathList::const_iterator it = path_.begin();
      18    17320161 :     if (it == path_.end())
      19     2334358 :         return NULL;
      20     6325452 :     return it.operator->();
      21             : }
      22             : 
      23             : // Insert a path
      24     1041511 : void Route::insert(const Path *ipath) {
      25     1041511 :     Path *path = const_cast<Path *> (ipath);
      26             : 
      27     1041511 :     path->set_time_stamp_usecs(UTCTimestampUsec());
      28     1041518 :     path_.push_back(*path);
      29     1041492 : }
      30             : 
      31             : // Remove a path
      32     1040968 : void Route::remove(const Path *ipath) {
      33     1040968 :     Path *path = const_cast<Path *> (ipath);
      34             : 
      35     1040968 :     path->set_time_stamp_usecs(UTCTimestampUsec());
      36     1041346 :     PathList::const_iterator eraseIt = path_.iterator_to(*path);
      37     2082222 :     path_.erase(eraseIt);
      38     1041251 : }
      39             : 
      40     2300932 : void Route::Sort(Compare compare, const Path *prev_front) {
      41     2300932 :     path_.sort(compare);
      42             : 
      43     2300835 :     set_last_update_at_to_now();
      44             :     // If the best path changes, update route's time stamp.
      45     2300828 :     if (prev_front != front()) {
      46     1976209 :         set_last_change_at_to_now();
      47             :     }
      48     2300564 : }

Generated by: LCOV version 1.14