LCOV - code coverage report
Current view: top level - xmpp - xmpp_init.cc (source / functions) Hit Total Coverage
Test: OpenSDN C/C++ coverage (all TARGET_SET jobs) Lines: 22 45 48.9 %
Date: 2026-11-09 02:10:49 Functions: 5 7 71.4 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
       3             :  * Copyright Contributors to the OpenSDN project
       4             :  */
       5             : 
       6             : #include "base/util.h"
       7             : #include "base/address_util.h"
       8             : #include "xmpp/xmpp_config.h"
       9             : #include "xmpp/xmpp_client.h"
      10             : #include "xmpp/xmpp_init.h"
      11             : #include "xmpp/xmpp_log.h"
      12             : #include "xmpp/xmpp_server.h"
      13             : #include "sandesh/sandesh_trace.h"
      14             : #include "sandesh/xmpp_trace_sandesh_types.h"
      15             : 
      16             : using namespace std;
      17             : 
      18             : const char *XmppInit::kControlNodeJID =
      19             :     "network-control@contrailsystems.com";
      20             : const char *XmppInit::kAgentNodeJID =
      21             :     "agent@contrailsystems.com";
      22             : const char *XmppInit::kDnsNodeJID =
      23             :     "network-dns@contrailsystems.com";
      24             : const char *XmppInit::kPubSubNS =
      25             :     "http://jabber.org/protocol/pubsub";
      26             : const char *XmppInit::kJIDControlBgp =
      27             :     "network-control@contrailsystems.com/bgp-peer";
      28             : const char *XmppInit::kJIDControlDns =
      29             :     "network-control@contrailsystems.com/dns-peer";
      30             : const char *XmppInit::kFqnPrependAgentNodeJID =
      31             :     "default-global-system-config:";
      32             : const char *XmppInit::kConfigPeer = "config";
      33             : const char *XmppInit::kBgpPeer = "bgp-peer";
      34             : const char *XmppInit::kEndOfRibMarker = "0/0/EndOfRib";
      35             : const char *XmppInit::kDnsPeer = "dns-peer";
      36             : const char *XmppInit::kOtherPeer = "other-peer";
      37             : 
      38             : SandeshTraceBufferPtr XmppMessageTraceBuf(SandeshTraceBufferCreate(XMPP_MESSAGE_TRACE_BUF, 5000));
      39             : SandeshTraceBufferPtr XmppTraceBuf(SandeshTraceBufferCreate(XMPP_TRACE_BUF, 1000));
      40             : 
      41           4 : XmppInit::XmppInit()
      42           4 :    : g_server_(NULL), g_client_(NULL), cfg_(new XmppConfigData) {
      43           4 : }
      44             : 
      45           4 : XmppInit::~XmppInit() {
      46           4 :     if (g_client_) {
      47           0 :         g_client_->Shutdown();
      48           0 :         TcpServerManager::DeleteServer(g_client_);
      49           0 :         g_client_ = NULL;
      50             :     }
      51             : 
      52           4 :     if (g_server_) {
      53           0 :         g_server_->Shutdown();
      54           0 :         TcpServerManager::DeleteServer(g_server_);
      55           0 :         g_server_ = NULL;
      56             :     }
      57             : 
      58           4 :     if (cfg_) {
      59           0 :         delete cfg_;
      60           0 :         cfg_ = NULL;
      61             :     }
      62           4 : }
      63             : 
      64           4 : void XmppInit::Reset(bool keep_config) {
      65           4 :     g_server_ = NULL;
      66           4 :     g_client_ = NULL;
      67           4 :     if (!keep_config) {
      68           4 :         cfg_ = NULL;
      69             :     }
      70           4 : }
      71             : 
      72           4 : void XmppInit::InitClient(XmppClient *client) {
      73           4 :     g_client_ = client;
      74           4 :     g_client_->ConfigUpdate(cfg_);
      75           4 : }
      76             : 
      77           0 : bool XmppInit::InitServer(XmppServer *server, int port, bool logUVE) {
      78           0 :     g_server_ = server;
      79           0 :     return g_server_->Initialize(port, logUVE);
      80             : }
      81             : 
      82           0 : XmppChannelConfig *XmppInit::AllocChannelConfig(
      83             :     const string &peer_ip, int port, const string &from, const string &to,
      84             :     const string &node, bool isClient) {
      85           0 :     boost::system::error_code ec;
      86             :     boost::asio::ip::address peer_addr =
      87           0 :         AddressFromString(peer_ip, &ec);
      88           0 :     if (ec) {
      89           0 :         return NULL;
      90             :     }
      91           0 :     XmppChannelConfig *cc = new XmppChannelConfig(isClient);
      92           0 :     cc->endpoint.address(peer_addr);
      93           0 :     cc->endpoint.port(port);
      94           0 :     cc->ToAddr = to;
      95           0 :     cc->FromAddr = from;
      96           0 :     cc->NodeAddr = node;
      97           0 :     return cc;
      98             : }
      99             : 
     100           4 : void XmppInit::AddXmppChannelConfig(XmppChannelConfig *cc) {
     101           4 :     if (cc) {
     102           4 :         cfg_->AddXmppChannelConfig(cc);
     103             :     }
     104           4 :     return;
     105             : }

Generated by: LCOV version 1.14