DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
mgr.c File Reference
#include "mgr.h"
#include "ingress.h"
#include <cace/util/logging.h>
#include <cace/util/defs.h>
+ Include dependency graph for mgr.c:

Functions

void refdm_mgr_init (refdm_mgr_t *mgr)
 Initialize a new manager state with default config.
 
void refdm_mgr_deinit (refdm_mgr_t *mgr)
 
int refdm_mgr_start (refdm_mgr_t *mgr)
 Begin the REFDM daemon operation.
 
int refdm_mgr_stop (refdm_mgr_t *mgr)
 End daemon operation.
 
refdm_agent_trefdm_mgr_agent_add (refdm_mgr_t *mgr, const char *agent_eid)
 Add a new known agent by its EID URI.
 
refdm_agent_trefdm_mgr_agent_get_eid (refdm_mgr_t *mgr, const char *eid)
 
refdm_agent_trefdm_mgr_agent_get_index (refdm_mgr_t *mgr, size_t index)
 
void refdm_mgr_clear_reports (refdm_mgr_t *mgr, refdm_agent_t *agent)
 Clear reports for a specific agent.
 

Function Documentation

◆ refdm_mgr_agent_add()

refdm_agent_t * refdm_mgr_agent_add ( refdm_mgr_t mgr,
const char *  agent_eid 
)

Add a new known agent by its EID URI.

Parameters
[in]mgrThe manager to update.
[in]agent_eidThe unique agent EID. Adding will fail if the EID already exists in the agent list.
Returns
The new manager, or NULL if adding failed.

References agent, refdm_mgr_t::agent_dict, refdm_mgr_t::agent_list, refdm_mgr_t::agent_log_cfg, refdm_mgr_t::agent_mutex, CACE_LOG_CRIT, CACE_LOG_ERR, CACE_LOG_INFO, CACE_MALLOC, CHKNULL, mgr, refdm_agent_init(), refdm_agent_rotate_log(), and refdm_db_insert_agent().

Referenced by agentsPostHandler(), and refdm_ingress_worker().

◆ refdm_mgr_agent_get_eid()

refdm_agent_t * refdm_mgr_agent_get_eid ( refdm_mgr_t mgr,
const char *  eid 
)

◆ refdm_mgr_agent_get_index()

refdm_agent_t * refdm_mgr_agent_get_index ( refdm_mgr_t mgr,
size_t  index 
)

◆ refdm_mgr_clear_reports()

void refdm_mgr_clear_reports ( refdm_mgr_t mgr,
refdm_agent_t agent 
)

Clear reports for a specific agent.

References agent, refdm_db_clear_rptset(), and refdm_db_fetch_agent_idx().

Referenced by agentEidClearReportsHandler(), and agentIdxClearReportsHandler().

◆ refdm_mgr_deinit()

◆ refdm_mgr_init()

◆ refdm_mgr_start()

int refdm_mgr_start ( refdm_mgr_t mgr)

Begin the REFDM daemon operation.

Precondition
The manager must have set values for:
Parameters
[in]mgrThe manager to start.
See also
refdm_mgr_stop()

References cace_threadset_start(), mgr, refdm_ingress_worker(), refdm_nm_rest_start(), and refdm_mgr_t::threads.

Referenced by main().

◆ refdm_mgr_stop()

int refdm_mgr_stop ( refdm_mgr_t mgr)

End daemon operation.

Precondition
The manager must have been successfully started with refdm_mgr_start().
Parameters
[in]mgrThe manager to stop.

References cace_daemon_run_stop(), cace_threadset_join(), mgr, refdm_nm_rest_stop(), refdm_mgr_t::running, and refdm_mgr_t::threads.

Referenced by main().