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-18 11:54:02 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     4297697 : Route::Route() {
      10     4297663 : }
      11             : 
      12     4297192 : Route::~Route() {
      13     4297192 : }
      14             : 
      15             : // Selected path
      16     8804013 : const Path *Route::front() const {
      17     8804013 :     PathList::const_iterator it = path_.begin();
      18    17605991 :     if (it == path_.end())
      19     2343878 :         return NULL;
      20     6458845 :     return it.operator->();
      21             : }
      22             : 
      23             : // Insert a path
      24     1045104 : void Route::insert(const Path *ipath) {
      25     1045104 :     Path *path = const_cast<Path *> (ipath);
      26             : 
      27     1045104 :     path->set_time_stamp_usecs(UTCTimestampUsec());
      28     1045141 :     path_.push_back(*path);
      29     1045116 : }
      30             : 
      31             : // Remove a path
      32     1044578 : void Route::remove(const Path *ipath) {
      33     1044578 :     Path *path = const_cast<Path *> (ipath);
      34             : 
      35     1044578 :     path->set_time_stamp_usecs(UTCTimestampUsec());
      36     1044953 :     PathList::const_iterator eraseIt = path_.iterator_to(*path);
      37     2089554 :     path_.erase(eraseIt);
      38     1044871 : }
      39             : 
      40     2316094 : void Route::Sort(Compare compare, const Path *prev_front) {
      41     2316094 :     path_.sort(compare);
      42             : 
      43     2316076 :     set_last_update_at_to_now();
      44             :     // If the best path changes, update route's time stamp.
      45     2316069 :     if (prev_front != front()) {
      46     1982613 :         set_last_change_at_to_now();
      47             :     }
      48     2315812 : }

Generated by: LCOV version 1.14