NS-3 based Named Data Networking (NDN) simulator
ndnSIM: NDN, CCN, CCNx, content centric networks
API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
error.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
2
/*
3
* Copyright (c) 2013, Regents of the University of California
4
* Alexander Afanasyev
5
*
6
* BSD license, See the LICENSE file for more information
7
*
8
* Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
9
*/
10
30
#ifndef NDN_ERROR2_H
31
#define NDN_ERROR2_H
32
33
#include "ns3/ndn-common.h"
34
#include <boost/exception/all.hpp>
35
36
NDN_NAMESPACE_BEGIN
37
42
namespace
error
43
{
44
45
struct
Error
:
public
virtual
boost::exception,
public
virtual
std::exception {};
46
struct
Uri
:
public
virtual
boost::exception,
public
virtual
std::exception {};
47
struct
StringTransform
:
public
virtual
boost::exception,
public
virtual
std::exception {};
48
struct
Name
:
public
virtual
boost::exception,
public
virtual
std::exception {};
49
namespace
name {
50
struct
Component
:
public
virtual
boost::exception,
public
virtual
std::exception {};
51
}
52
struct
Exclude
:
public
virtual
boost::exception,
public
virtual
std::exception {};
53
struct
KeyLocator
:
public
virtual
boost::exception,
public
virtual
std::exception {};
54
namespace
wire {
55
struct
Ccnb
:
public
virtual
boost::exception,
public
virtual
std::exception {};
56
}
57
struct
Keychain
:
public
virtual
boost::exception,
public
virtual
std::exception {};
58
59
// Diagnostic information fields
60
75
typedef
boost::error_info<struct tag_msg, std::string>
msg
;
76
82
inline
const
std::string &
83
get_msg
(boost::exception &e)
84
{
85
const
std::string *error = boost::get_error_info<msg> (e);
86
if
(error == 0)
87
BOOST_THROW_EXCEPTION (
Error
());
88
return
*error;
89
}
90
105
typedef
boost::error_info<struct tag_pos, int>
pos
;
106
112
inline
int
113
get_pos
(boost::exception &e)
114
{
115
const
int
*position = boost::get_error_info<pos> (e);
116
if
(position == 0)
117
BOOST_THROW_EXCEPTION (
Error
());
118
return
*position;
119
}
120
121
}
// error
122
123
NDN_NAMESPACE_END
124
125
#endif // NDN_ERROR2_H
ns3::ndn::error::get_pos
int get_pos(boost::exception &e)
Helper method to get position of the error from the exception.
Definition:
error.h:113
ns3::ndn::error::Exclude
An error with Exclude.
Definition:
error.h:52
ns3::ndn::error::name::Component
An error with name::Component.
Definition:
error.h:50
ns3::ndn::error::StringTransform
Definition:
error.h:47
ns3::ndn::error::msg
boost::error_info< struct tag_msg, std::string > msg
Free-formatted text message explaining the error.
Definition:
error.h:75
ns3::ndn::error::Name
An error with Name.
Definition:
error.h:48
ns3::ndn::error::pos
boost::error_info< struct tag_pos, int > pos
Report of the position of the error (error-specific meaning)
Definition:
error.h:105
ns3::ndn::error::wire::Ccnb
An error with wire::Ccnb encoding.
Definition:
error.h:55
ns3::ndn::error::Uri
An error with URI processing.
Definition:
error.h:46
ns3::ndn::error::Error
Some error with error reporting engine.
Definition:
error.h:45
ns3::ndn::error::get_msg
const std::string & get_msg(boost::exception &e)
Helper method to get error message from the exception.
Definition:
error.h:83
ns3::ndn::error::Keychain
An error with security::Keychain.
Definition:
error.h:57
ns3::ndn::error::KeyLocator
An error with KeyLocator.
Definition:
error.h:53
ndnSIM
ndn.cxx
detail
error.h
Generated on Mon Jan 19 2015 11:27:04 for ndnSIM by
1.8.7