NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ndnSIM
ndnSIM documentation
All Attributes
All GlobalValues
All LogComponents
All TraceSources
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
udp-channel.hpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
26
#ifndef NFD_DAEMON_FACE_UDP_CHANNEL_HPP
27
#define NFD_DAEMON_FACE_UDP_CHANNEL_HPP
28
29
#include "
channel.hpp
"
30
31
namespace
nfd
{
32
33
namespace
udp {
34
typedef
boost::asio::ip::udp::endpoint
Endpoint
;
35
}
// namespace udp
36
37
class
UdpFace
;
38
42
class
UdpChannel
:
public
Channel
43
{
44
public
:
55
UdpChannel
(
const
udp::Endpoint
& localEndpoint,
56
const
time::seconds& timeout);
57
70
void
71
listen(
const
FaceCreatedCallback
& onFaceCreated,
72
const
ConnectFailedCallback
& onReceiveFailed);
73
79
void
80
connect(
const
udp::Endpoint
& remoteEndpoint,
81
ndn::nfd::FacePersistency
persistency,
82
const
FaceCreatedCallback
& onFaceCreated,
83
const
ConnectFailedCallback
& onConnectFailed);
84
88
size_t
89
size()
const
;
90
91
bool
92
isListening()
const
;
93
94
private
:
95
std::pair<bool, shared_ptr<UdpFace>>
96
createFace(
const
udp::Endpoint
& remoteEndpoint,
ndn::nfd::FacePersistency
persistency);
97
102
void
103
handleNewPeer(
const
boost::system::error_code& error,
104
size_t
nBytesReceived,
105
const
FaceCreatedCallback
& onFaceCreated,
106
const
ConnectFailedCallback
& onReceiveFailed);
107
108
private
:
109
std::map<udp::Endpoint, shared_ptr<UdpFace>> m_channelFaces;
110
111
udp::Endpoint
m_localEndpoint;
112
116
udp::Endpoint
m_remoteEndpoint;
117
121
boost::asio::ip::udp::socket m_socket;
122
126
time::seconds m_idleFaceTimeout;
127
128
uint8_t m_inputBuffer[
ndn::MAX_NDN_PACKET_SIZE
];
129
};
130
131
inline
bool
132
UdpChannel::isListening
()
const
133
{
134
return
m_socket.is_open();
135
}
136
137
}
// namespace nfd
138
139
#endif // NFD_DAEMON_FACE_UDP_CHANNEL_HPP
nfd::UdpChannel::isListening
bool isListening() const
Definition:
udp-channel.hpp:132
nfd::UdpChannel
Class implementing UDP-based channel to create faces.
Definition:
udp-channel.hpp:42
nfd::Channel
Definition:
channel.hpp:34
channel.hpp
nfd::UdpFace
Implementation of Face abstraction that uses unicast UDP as underlying transport mechanism.
Definition:
udp-face.hpp:38
nfd::UdpChannel
UdpChannel
Definition:
udp-channel.cpp:32
nfd
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-common.hpp:38
ndn::nfd::FacePersistency
FacePersistency
Definition:
nfd-constants.hpp:48
nfd::Channel::ConnectFailedCallback
function< void(const std::string &reason)> ConnectFailedCallback
Prototype for the callback that is called when face is failed to get created.
Definition:
channel.hpp:46
nfd::udp::Endpoint
boost::asio::ip::udp::endpoint Endpoint
Definition:
udp-channel.hpp:34
nfd::Channel::FaceCreatedCallback
function< void(const shared_ptr< Face > &newFace)> FaceCreatedCallback
Prototype for the callback called when face is created (as a response to incoming connection or after...
Definition:
channel.hpp:41
ndn::MAX_NDN_PACKET_SIZE
const size_t MAX_NDN_PACKET_SIZE
practical limit of network layer packet size
Definition:
tlv.hpp:39
ndnSIM
NFD
daemon
face
udp-channel.hpp
Generated on Tue Feb 23 2016 22:18:44 for ndnSIM by
1.8.11