unix-transport.hpp
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
22 #ifndef NDN_UNIX_TRANSPORT_HPP
23 #define NDN_UNIX_TRANSPORT_HPP
24 
25 #include <string>
26 #include "../common.hpp"
27 #include "transport.hpp"
28 
29 struct ndn_UnixTransport;
30 
31 namespace ndn {
32 
33 class DynamicUInt8Vector;
34 
35 class UnixTransport : public Transport {
36 public:
42  public:
47  ConnectionInfo(const char *filePath)
48  : filePath_(filePath)
49  {
50  }
51 
56  const std::string&
57  getFilePath() const { return filePath_; }
58 
59  virtual
60  ~ConnectionInfo();
61 
62  private:
63  std::string filePath_;
64  };
65 
66  UnixTransport();
67 
74  virtual bool
75  isLocal(const Transport::ConnectionInfo& connectionInfo);
76 
86  virtual void
87  connect
88  (const Transport::ConnectionInfo& connectionInfo,
89  ElementListener& elementListener, const OnConnected& onConnected);
90 
96  virtual void
97  send(const uint8_t *data, size_t dataLength);
98 
108  virtual void
109  processEvents();
110 
111  virtual bool
112  getIsConnected();
113 
117  virtual void
118  close();
119 
120 private:
121  ptr_lib::shared_ptr<struct ndn_UnixTransport> transport_;
122  ptr_lib::shared_ptr<DynamicUInt8Vector> elementBuffer_;
123  bool isConnected_;
124 };
125 
126 }
127 
128 #endif
Definition: transport.hpp:32
Copyright (C) 2013-2016 Regents of the University of California.
Definition: common.hpp:35
virtual void processEvents()
Process any data to receive.
Definition: unix-transport.cpp:78
A UnixTransport::ConnectionInfo extends Transport::ConnectionInfo to hold the file path of the Unix s...
Definition: unix-transport.hpp:41
An ElementListener extends an ndn_ElementListener struct to proved an abstract virtual onReceivedElem...
Definition: element-listener.hpp:33
virtual bool isLocal(const Transport::ConnectionInfo &connectionInfo)
Determine whether this transport connecting according to connectionInfo is to a node on the current m...
Definition: unix-transport.cpp:46
virtual void connect(const Transport::ConnectionInfo &connectionInfo, ElementListener &elementListener, const OnConnected &onConnected)
Connect according to the info in ConnectionInfo, and processEvents() will use elementListener.
Definition: unix-transport.cpp:53
virtual void close()
Close the connection to the host.
Definition: unix-transport.cpp:94
Definition: unix-transport.hpp:35
const std::string & getFilePath() const
Get the file path given to the constructor.
Definition: unix-transport.hpp:57
A Transport::ConnectionInfo is a base class for connection information used by subclasses of Transpor...
Definition: transport.hpp:38
Definition: transport-types.h:43
virtual void send(const uint8_t *data, size_t dataLength)
Set data to the host.
Definition: unix-transport.cpp:70
ConnectionInfo(const char *filePath)
Create a ConnectionInfo with the given filePath.
Definition: unix-transport.hpp:47