NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
tlv.cpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2013-2018 Regents of the University of California.
4  *
5  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
6  *
7  * ndn-cxx library is free software: you can redistribute it and/or modify it under the
8  * terms of the GNU Lesser General Public License as published by the Free Software
9  * Foundation, either version 3 of the License, or (at your option) any later version.
10  *
11  * ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
12  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13  * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
14  *
15  * You should have received copies of the GNU General Public License and GNU Lesser
16  * General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see
17  * <http://www.gnu.org/licenses/>.
18  *
19  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
20  */
21 
22 #include "ndn-cxx/encoding/tlv.hpp"
23 
24 namespace ndn {
25 namespace tlv {
26 
27 std::ostream&
28 operator<<(std::ostream& os, SignatureTypeValue st)
29 {
30  switch (st) {
31  case DigestSha256:
32  return os << "DigestSha256";
34  return os << "SignatureSha256WithRsa";
36  return os << "SignatureSha256WithEcdsa";
38  return os << "SignatureHmacWithSha256";
39  }
40  return os << "Unknown(" << static_cast<uint32_t>(st) << ')';
41 }
42 
43 std::ostream&
44 operator<<(std::ostream& os, ContentTypeValue ct)
45 {
46  switch (ct) {
47  case ContentType_Blob:
48  return os << "Blob";
49  case ContentType_Link:
50  return os << "Link";
51  case ContentType_Key:
52  return os << "Key";
53  case ContentType_Nack:
54  return os << "Nack";
56  return os << "Manifest";
58  return os << "PrefixAnn";
59  case ContentType_Flic:
60  return os << "FLIC";
61  }
62 
63  if (ct >= 6 && ct <= 1023) {
64  os << "Reserved(";
65  }
66  else if (ct >= 9000 && ct <= 9999) {
67  os << "Experimental(";
68  }
69  else {
70  os << "Unknown(";
71  }
72  return os << static_cast<uint32_t>(ct) << ')';
73 }
74 
75 } // namespace tlv
76 } // namespace ndn
Copyright (c) 2011-2015 Regents of the University of California.
std::ostream & operator<<(std::ostream &os, SignatureTypeValue st)
Definition: tlv.cpp:28
public key, certificate
Definition: tlv.hpp:156
prefix announcement
Definition: tlv.hpp:159
File-Like ICN Collection.
Definition: tlv.hpp:160
another name that identifies the actual data content
Definition: tlv.hpp:155
ContentTypeValue
ContentType values.
Definition: tlv.hpp:153
SignatureTypeValue
SignatureType values.
Definition: tlv.hpp:126
application-level nack
Definition: tlv.hpp:157