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
wire-ndnsim.h
1 
2 /*
3  * Copyright (c) 2013, Regents of the University of California
4  * Alexander Afanasyev
5  *
6  * GNU 3.0 license, See the LICENSE file for more information
7  *
8  * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
9  */
10 
11 #ifndef NDN_WIRE_NDNSIM_SYNTAX_H
12 #define NDN_WIRE_NDNSIM_SYNTAX_H
13 
14 #include "ns3/ptr.h"
15 #include "ns3/nstime.h"
16 #include "ns3/buffer.h"
17 
18 #include "ns3/ndn-common.h"
19 #include "ns3/ndnSIM/ndn.cxx/name.h"
20 #include "ns3/ndnSIM/ndn.cxx/exclude.h"
21 
22 NDN_NAMESPACE_BEGIN
23 
24 namespace wire {
25 
29 class NdnSim
30 {
31 public:
39  static size_t
40  SerializeName (Buffer::Iterator &start, const Name &name);
41 
47  static size_t
48  SerializedSizeName (const Name &name);
49 
55  static Ptr<Name>
56  DeserializeName (Buffer::Iterator &start);
57 
58 
59  enum Selectors {
60  SelectorExclude = 0x01
61  };
62 
63  enum ExcludeTypes {
64  ExcludeNameType = 0x01,
65  ExcludeAnyType = 0x02
66  };
67 
75  static size_t
76  SerializeExclude (Buffer::Iterator &start, const Exclude &exclude);
77 
83  static size_t
84  SerializedSizeExclude (const Exclude &exclude);
85 
91  static Ptr<Exclude>
92  DeserializeExclude (Buffer::Iterator &start);
93 }; // NdnSim
94 
95 } // wire
96 
97 NDN_NAMESPACE_END
98 
99 #endif // NDN_WIRE_NDNSIM_SYNTAX_H
Class for NDN Name.
Definition: name.h:29
Helper to encode ndnSIM wire elements.
Definition: wire-ndnsim.h:29
Class to represent Exclude component in NDN interests.
Definition: exclude.h:25