LCOV - code coverage report
Current view: top level - vnsw/agent/services/multicast/gmp_map - task_map.cc (source / functions) Hit Total Coverage
Test: OpenSDN C/C++ coverage (all TARGET_SET jobs) Lines: 25 30 83.3 %
Date: 2026-11-09 02:10:49 Functions: 5 5 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2017 Juniper Networks, Inc. All rights reserved.
       3             :  * Copyright Contributors to the OpenSDN project
       4             :  */
       5             : 
       6             : #include "task_map.h"
       7             : 
       8             : #ifdef __cplusplus
       9             : extern "C" {
      10             : #endif
      11             : #include "task_int.h"
      12             : #include "task_timer_api.h"
      13             : #ifdef __cplusplus
      14             : }
      15             : #endif
      16             : 
      17           2 : TaskMap::TaskMap(Agent *agent, const std::string &name, int instance,
      18           2 :                         boost::asio::io_context &io) :
      19           2 :                         agent_(agent), name_(name), instance_(instance),
      20           2 :                         io_(io) {
      21             : 
      22           2 :     task_ = NULL;
      23           2 : }
      24             : 
      25           2 : TaskMap::~TaskMap() {
      26           2 : }
      27             : 
      28           2 : task *task_create(void *task_map)
      29             : {
      30             :     task *new_task;
      31           2 :     new_task = (task *)malloc(sizeof(task));
      32           2 :     if (!new_task) {
      33           0 :         return NULL;
      34             :     }
      35           2 :     new_task->agent_task = task_map;
      36           2 :     return new_task;
      37             : }
      38             : 
      39           2 : TaskMap *TaskMapManager::CreateTaskMap(Agent *agent, const std::string &name,
      40             :             int instance, boost::asio::io_context &io) {
      41             : 
      42           2 :     TaskMap *task_map = new TaskMap(agent, name, instance, io);
      43           2 :     if (!task_map) {
      44           0 :         return NULL;
      45             :     }
      46             : 
      47           2 :     task_map->task_ = task_create(task_map);
      48           2 :     if (!task_map->task_) {
      49           0 :         delete task_map;
      50           0 :         return NULL;
      51             :     }
      52             : 
      53           2 :     task_timer_init(task_map->task_);
      54             : 
      55           2 :     return task_map;
      56             : }
      57             : 
      58           2 : bool TaskMapManager::DeleteTaskMap(TaskMap *task_map) {
      59           2 :     if (!task_map) {
      60           0 :         return false;
      61             :     }
      62             : 
      63           2 :     free(task_map->task_);
      64             : 
      65           2 :     delete task_map;
      66             : 
      67           2 :     return true;
      68             : }
      69             : 

Generated by: LCOV version 1.14