22 #ifndef NDN_ASYNC_UNIX_TRANSPORT_HPP
23 #define NDN_ASYNC_UNIX_TRANSPORT_HPP
26 #include "../ndn-cpp-config.h"
27 #ifdef NDN_CPP_HAVE_BOOST_ASIO
30 #include <boost/asio.hpp>
31 #include "../common.hpp"
32 #include "transport.hpp"
36 template<
class AsioProtocol>
class AsyncSocketTransport;
45 class AsyncUnixTransport :
public Transport {
51 class ConnectionInfo :
public Transport::ConnectionInfo {
57 ConnectionInfo(
const char *filePath)
67 getFilePath()
const {
return filePath_; }
73 std::string filePath_;
82 AsyncUnixTransport(boost::asio::io_service& ioService);
91 isLocal(
const Transport::ConnectionInfo& connectionInfo);
112 (
const Transport::ConnectionInfo& connectionInfo,
113 ElementListener& elementListener,
const OnConnected& onConnected);
123 send(
const uint8_t *data,
size_t dataLength);
140 virtual ~AsyncUnixTransport();
143 ptr_lib::shared_ptr<AsyncSocketTransport<boost::asio::local::stream_protocol> >
149 #endif // NDN_CPP_HAVE_BOOST_ASIO