blob: c41f6011f1a41877563abe43122fd2edef82af6b [file] [log] [blame]
Alexander Afanasyeva9034b02014-01-26 18:32:02 -08001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/**
3 * Copyright (C) 2014 Named Data Networking Project
4 * See COPYING for copyright and distribution information.
5 */
6
7#ifndef NFD_FACE_TCP_FACE_HPP
8#define NFD_FACE_TCP_FACE_HPP
9
10#include "stream-face.hpp"
11
Alexander Afanasyev18bbf812014-01-29 01:40:23 -080012namespace nfd
Alexander Afanasyeva9034b02014-01-26 18:32:02 -080013{
14
15/**
16 * \brief Implementation of Face abstraction that uses TCP
17 * as underlying transport mechanism
18 */
19class TcpFace : public StreamFace<boost::asio::ip::tcp>
20{
21public:
Alexander Afanasyevd32cb962014-01-28 12:43:47 -080022 typedef boost::asio::ip::tcp protocol;
23
Davide Pesaventobc4dd8c2014-02-14 20:01:01 +010024 explicit
Junxiao Shi8c8d2182014-01-30 22:33:00 -070025 TcpFace(const shared_ptr<protocol::socket>& socket);
Alexander Afanasyev93ce75e2014-02-18 19:45:34 -080026
27 virtual bool
28 isLocal() const;
Alexander Afanasyeva9034b02014-01-26 18:32:02 -080029};
30
Alexander Afanasyev18bbf812014-01-29 01:40:23 -080031} // namespace nfd
Alexander Afanasyeva9034b02014-01-26 18:32:02 -080032
33#endif // NFD_FACE_TCP_FACE_HPP