blob: 4e882c0af493a3a112f2f4392c897e7f3eb9ed0d [file] [log] [blame]
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
* Copyright (C) 2014 Named Data Networking Project
* See COPYING for copyright and distribution information.
*/
#ifndef NFD_FACE_UDP_FACE_HPP
#define NFD_FACE_UDP_FACE_HPP
#include "datagram-face.hpp"
namespace nfd {
/**
* \brief Implementation of Face abstraction that uses UDP
* as underlying transport mechanism
*/
class UdpFace : public DatagramFace<boost::asio::ip::udp>
{
public:
UdpFace(const shared_ptr<protocol::socket>& socket,
bool isOnDemand);
/**
* \brief Manages the first datagram received by the UdpChannel socket set on listening
*/
void
handleFirstReceive(const uint8_t* buffer,
std::size_t nBytesReceived,
const boost::system::error_code& error);
};
} // namespace nfd
#endif // NFD_FACE_UDP_FACE_HPP