Enumerations | Functions

NotifierConsts.h File Reference

#include "INETDefs.h"

Go to the source code of this file.

Enumerations

enum  {
  NF_SUBSCRIBERLIST_CHANGED, NF_HOSTPOSITION_UPDATED, NF_NODE_FAILURE, NF_NODE_RECOVERY,
  NF_RADIOSTATE_CHANGED, NF_RADIO_CHANNEL_CHANGED, NF_PP_TX_BEGIN, NF_PP_TX_END,
  NF_PP_RX_END, NF_TX_ACKED, NF_L2_Q_DROP, NF_MAC_BECAME_IDLE,
  NF_L2_BEACON_LOST, NF_L2_ASSOCIATED, NF_INTERFACE_CREATED, NF_INTERFACE_DELETED,
  NF_INTERFACE_STATE_CHANGED, NF_INTERFACE_CONFIG_CHANGED, NF_INTERFACE_IPv4CONFIG_CHANGED, NF_INTERFACE_IPv6CONFIG_CHANGED,
  NF_TED_CHANGED, NF_IPv4_ROUTE_ADDED, NF_IPv4_ROUTE_DELETED, NF_IPv6_ROUTE_ADDED,
  NF_IPv6_ROUTE_DELETED, NF_IPv6_HANDOVER_OCCURRED, NF_OVERLAY_TRANSPORTADDRESS_CHANGED, NF_OVERLAY_NODE_GRACEFUL_LEAVE,
  NF_OVERLAY_NODE_LEAVE
}

Functions

const char * notificationCategoryName (int category)
void printNotificationBanner (int category, const cPolymorphic *details)

Enumeration Type Documentation

anonymous enum

Category constants for NotificationBoard

Enumerator:
NF_SUBSCRIBERLIST_CHANGED 
NF_HOSTPOSITION_UPDATED 
NF_NODE_FAILURE 
NF_NODE_RECOVERY 
NF_RADIOSTATE_CHANGED 
NF_RADIO_CHANNEL_CHANGED 
NF_PP_TX_BEGIN 
NF_PP_TX_END 
NF_PP_RX_END 
NF_TX_ACKED 
NF_L2_Q_DROP 
NF_MAC_BECAME_IDLE 
NF_L2_BEACON_LOST 
NF_L2_ASSOCIATED 
NF_INTERFACE_CREATED 
NF_INTERFACE_DELETED 
NF_INTERFACE_STATE_CHANGED 
NF_INTERFACE_CONFIG_CHANGED 
NF_INTERFACE_IPv4CONFIG_CHANGED 
NF_INTERFACE_IPv6CONFIG_CHANGED 
NF_TED_CHANGED 
NF_IPv4_ROUTE_ADDED 
NF_IPv4_ROUTE_DELETED 
NF_IPv6_ROUTE_ADDED 
NF_IPv6_ROUTE_DELETED 
NF_IPv6_HANDOVER_OCCURRED 
NF_OVERLAY_TRANSPORTADDRESS_CHANGED 
NF_OVERLAY_NODE_GRACEFUL_LEAVE 
NF_OVERLAY_NODE_LEAVE 

Definition at line 31 of file NotifierConsts.h.

{
    // admin
    NF_SUBSCRIBERLIST_CHANGED,

    // - host
    NF_HOSTPOSITION_UPDATED,
    NF_NODE_FAILURE,
    NF_NODE_RECOVERY,

    // - layer 1 (physical)
    NF_RADIOSTATE_CHANGED,
    NF_RADIO_CHANNEL_CHANGED,

    // - layer 2 (data-link)
    //XXX generalize constants (remove "PP"?) - could be used by 80211 and ethernet as well
    // they generally carry TxNotifDetails as "details" to identify the interface and the frame
    NF_PP_TX_BEGIN,   // point-to-point transmission begins (currently PPP)
    NF_PP_TX_END,     // point-to-point transmission ends (currently PPP)
    NF_PP_RX_END,     // point-to-point reception ends (currently PPP)
    NF_TX_ACKED,      // transmitted frame got acked (currently Ieee80211)
    NF_L2_Q_DROP,
    NF_MAC_BECAME_IDLE,
    NF_L2_BEACON_LOST,   // missed several consecutive beacons (currently Ieee80211)
    NF_L2_ASSOCIATED,    // successfully associated with an AP (currently Ieee80211)

    // - layer 3 (network)
    NF_INTERFACE_CREATED,
    NF_INTERFACE_DELETED,
    NF_INTERFACE_STATE_CHANGED,
    NF_INTERFACE_CONFIG_CHANGED,
    NF_INTERFACE_IPv4CONFIG_CHANGED,
    NF_INTERFACE_IPv6CONFIG_CHANGED,
    NF_TED_CHANGED,

    // layer 3 - IPv4
    NF_IPv4_ROUTE_ADDED,
    NF_IPv4_ROUTE_DELETED,
    NF_IPv6_ROUTE_ADDED,
    NF_IPv6_ROUTE_DELETED,

    // layer 3 - IPv6
    NF_IPv6_HANDOVER_OCCURRED,

    // - layer 4 (transport)
    //...

    // - layer 7 - OverSim
    NF_OVERLAY_TRANSPORTADDRESS_CHANGED,  // OverSim
    NF_OVERLAY_NODE_GRACEFUL_LEAVE,       // OverSim
    NF_OVERLAY_NODE_LEAVE,                // OverSim


    // - layer 7 (application)
    //...
};


Function Documentation

const char* notificationCategoryName ( int  category  ) 

Utility function

Definition at line 22 of file NotifierConsts.cc.

Referenced by NotificationBoard::fireChangeNotification(), printNotificationBanner(), NotificationBoard::subscribe(), and NotificationBoard::unsubscribe().

{
    const char *s;
    static char buf[8];
    switch (category)
    {
        case NF_SUBSCRIBERLIST_CHANGED: return "SUBSCRIBERS";

        case NF_HOSTPOSITION_UPDATED: return "POS";
        case NF_NODE_FAILURE: return "FAILURE";
        case NF_NODE_RECOVERY: return "RECOVERY";

        case NF_RADIOSTATE_CHANGED: return "RADIO-STATE";
        case NF_RADIO_CHANNEL_CHANGED: return "RADIO-CHANNEL";
        case NF_PP_TX_BEGIN: return "TX-BEG";
        case NF_PP_TX_END: return "TX-END";
        case NF_PP_RX_END: return "RX-END";
        case NF_L2_Q_DROP: return "DROP";
        case NF_MAC_BECAME_IDLE: return "MAC-IDLE";
        case NF_L2_BEACON_LOST: return "BEACON-LOST";
        case NF_L2_ASSOCIATED: return "ASSOCIATED";

        case NF_INTERFACE_CREATED: return "IF-CREATED";
        case NF_INTERFACE_DELETED: return "IF-DELETED";
        case NF_INTERFACE_STATE_CHANGED: return "IF-STATE";
        case NF_INTERFACE_CONFIG_CHANGED: return "IF-CFG";
        case NF_INTERFACE_IPv4CONFIG_CHANGED: return "IPv4-CFG";
        case NF_INTERFACE_IPv6CONFIG_CHANGED: return "IPv6-CFG";

        case NF_IPv4_ROUTE_ADDED: return "IPv4-ROUTE-ADD";
        case NF_IPv4_ROUTE_DELETED: return "IPv4-ROUTE-DEL";
        case NF_IPv6_ROUTE_ADDED: return "IPv6-ROUTE-ADD";
        case NF_IPv6_ROUTE_DELETED: return "IPv6-ROUTE-DEL";

        case NF_IPv6_HANDOVER_OCCURRED: return "IPv6-HANDOVER";

        case NF_OVERLAY_TRANSPORTADDRESS_CHANGED: return "OVERLAY-TRANSPORTADDESS";
        case NF_OVERLAY_NODE_LEAVE: return "OVERLAY-NODE-LEAVE";
        case NF_OVERLAY_NODE_GRACEFUL_LEAVE: return "NODE-GRACEFUL-LEAVE";

        default: sprintf(buf, "%d", category); s = buf;
    }
    return s;
}

void printNotificationBanner ( int  category,
const cPolymorphic *  details 
)

Utility function

Definition at line 67 of file NotifierConsts.cc.

Referenced by RoutingTable6::receiveChangeNotification(), RoutingTable::receiveChangeNotification(), NAMTraceWriter::receiveChangeNotification(), LinkStateRouting::receiveChangeNotification(), LDP::receiveChangeNotification(), and InterfaceTable::receiveChangeNotification().

{
    EV << "** Notification at T=" << simTime()
       << " to " << simulation.getContextModule()->getFullPath() << ": "
       << notificationCategoryName(category) << " "
       << (details ? details->info() : "") << "\n";
}