NS-3 based Named Data Networking (NDN) simulator
ndnSIM: NDN, CCN, CCNx, content centric networks
API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
smart-flooding.h
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2011 University of California, Los Angeles
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
19  */
20 
21 #ifndef NDNSIM_SMART_FLOODING_H
22 #define NDNSIM_SMART_FLOODING_H
23 
24 #include "green-yellow-red.h"
25 #include "ns3/log.h"
26 
27 namespace ns3 {
28 namespace ndn {
29 namespace fw {
30 
36  public GreenYellowRed
37 {
38 private:
39  typedef GreenYellowRed super;
40 
41 public:
42  static TypeId
43  GetTypeId ();
44 
48  static std::string
49  GetLogName ();
50 
54  SmartFlooding ();
55 
56  // inherited
57  virtual bool
58  DoPropagateInterest (Ptr<Face> inFace,
59  Ptr<const Interest> interest,
60  Ptr<pit::Entry> pitEntry);
61 
62 protected:
63  static LogComponent g_log;
64 };
65 
66 } // namespace fw
67 } // namespace ndn
68 } // namespace ns3
69 
70 #endif // NDNSIM_SMART_FLOODING_H
static std::string GetLogName()
Helper function to retrieve logging name for the forwarding strategy.
Smart flooding forwarding strategy.
Forwarding strategy extensions to track simple link status based on data plane performance.
virtual bool DoPropagateInterest(Ptr< Face > inFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry)
Virtual method to perform Interest propagation according to the forwarding strategy logic...
SmartFlooding()
Default constructor.
Implementation of experimental NACK messages (enables with EnableNACKs option)
Definition: nacks.h:33