nfd::face::UdpChannel Class Reference

Class implementing UDP-based channel to create faces. More...

#include <daemon/face/udp-channel.hpp>

+ Inheritance diagram for nfd::face::UdpChannel:
+ Collaboration diagram for nfd::face::UdpChannel:

Public Member Functions

 UdpChannel (const udp::Endpoint &localEndpoint, time::nanoseconds idleTimeout, bool wantCongestionMarking)
 Create a UDP channel on the given localEndpoint. More...
 
void connect (const udp::Endpoint &remoteEndpoint, const FaceParams &params, const FaceCreatedCallback &onFaceCreated, const FaceCreationFailedCallback &onConnectFailed)
 Create a unicast UDP face toward remoteEndpoint. More...
 
const FaceUri & getUri () const
 
bool isListening () const override
 Returns whether the channel is listening. More...
 
void listen (const FaceCreatedCallback &onFaceCreated, const FaceCreationFailedCallback &onFaceCreationFailed)
 Start listening. More...
 
size_t size () const override
 Returns the number of faces in the channel. More...
 

Protected Member Functions

void setUri (const FaceUri &uri)
 

Detailed Description

Class implementing UDP-based channel to create faces.

Definition at line 40 of file udp-channel.hpp.

Constructor & Destructor Documentation

◆ UdpChannel()

nfd::face::UdpChannel::UdpChannel ( const udp::Endpoint localEndpoint,
time::nanoseconds  idleTimeout,
bool  wantCongestionMarking 
)

Create a UDP channel on the given localEndpoint.

To enable creation of faces upon incoming connections, one needs to explicitly call UdpChannel::listen method. The created socket is bound to localEndpoint.

Definition at line 39 of file udp-channel.cpp.

Member Function Documentation

◆ connect()

void nfd::face::UdpChannel::connect ( const udp::Endpoint remoteEndpoint,
const FaceParams params,
const FaceCreatedCallback onFaceCreated,
const FaceCreationFailedCallback onConnectFailed 
)

Create a unicast UDP face toward remoteEndpoint.

Definition at line 52 of file udp-channel.cpp.

◆ getUri()

const FaceUri& nfd::face::Channel::getUri ( ) const
inlineinherited

Definition at line 48 of file channel.hpp.

◆ isListening()

bool nfd::face::UdpChannel::isListening ( ) const
inlineoverridevirtual

Returns whether the channel is listening.

Implements nfd::face::Channel.

Definition at line 55 of file udp-channel.hpp.

◆ listen()

void nfd::face::UdpChannel::listen ( const FaceCreatedCallback onFaceCreated,
const FaceCreationFailedCallback onFaceCreationFailed 
)

Start listening.

Enable listening on the local endpoint, waiting for incoming datagrams, and creating a face when a datagram is received from a new remote host.

Faces created in this way will have on-demand persistency.

Parameters
onFaceCreatedCallback to notify successful creation of a face
onFaceCreationFailedCallback to notify errors

Definition at line 74 of file udp-channel.cpp.

◆ setUri()

void nfd::face::Channel::setUri ( const FaceUri &  uri)
protectedinherited

Definition at line 35 of file channel.cpp.

◆ size()

size_t nfd::face::UdpChannel::size ( ) const
inlineoverridevirtual

Returns the number of faces in the channel.

Implements nfd::face::Channel.

Definition at line 61 of file udp-channel.hpp.