Commit Graph

36 Commits

Author SHA1 Message Date
Eric Newberry f40551a061 face+mgmt: enable local fields through ProtocolFactory::createFace
refs #3731

Change-Id: I569dae59cda150ffcb1c0ff1d01a575d8850beca
2016-09-23 01:16:23 -07:00
Eric Newberry 4260241659 mgmt+face: move protocol-specific face creation checks into protocol factories
Also brought implementation of faces/create in line with design

refs #3731

Change-Id: I4f48079136b42c7fdbd4fdfba37116d2565f9dc1
2016-09-02 18:56:24 -07:00
Junxiao Shi cde37ad608 face: face refactoring completion
* delete old Face
* rename LpFace as Face
* eliminate LpFaceWrapper and use new Face

refs #3172

Change-Id: I08c3a5dfb4cc1b9834b30cccd9ab634535d0608c
2015-12-24 01:02:05 -07:00
Davide Pesavento 47ab029798 face: deduplicate callback typedefs between Channel and ProtocolFactory
This should have been part of commit 1d7e7afd38

Change-Id: I61623152180d4df288fc7dd3c225518e438d2bda
Refs: #3258
2015-11-04 19:49:58 +01:00
Yukai Tu 16aabbcc3b face: TcpTransport
Change-Id: I3ff898225ad1b0c1178490f389048944e24a9f1b
Refs: #3166
2015-10-27 17:16:07 +01:00
Davide Pesavento 292e5e1436 face: use move semantics for sockets where possible
Change-Id: I2af595073f862c570c1ce0dcb3717f3d2b9cfd71
Refs: #2613
2015-03-17 21:32:49 -07:00
Davide Pesavento 6ad890a098 face: Stop using shared_ptr to manage acceptors
This commit also includes a major cleanup of all channels.

Change-Id: I10db9709e0cba6a0691a86482c60b5dbb2956f68
Refs: #2613
2015-03-11 22:04:40 +01:00
Alexander Afanasyev baba2535e1 face: Remove Tcp|UdpChannel::connect overloads that perform DNS resolution
Change-Id: Ib5da2a43d1e33654940aa42f568b6a604c171e3e
Refs: #2422
2015-02-15 12:43:57 -08:00
Junxiao Shi 1e46be30e4 core: rename nfd::EventId to nfd::scheduler::EventId
refs #2298

Change-Id: I5d4f4c5234fd370666e81a8a8e7d312694a6ad5d
2015-01-09 09:52:56 -07:00
Junxiao Shi c099ddb587 face: replace EventEmitter usage with Signal
refs #2300

Change-Id: I17d0d65d2c474b17dd9f23f271a6144b0b4fbc07
2015-01-06 20:50:15 -07:00
Junxiao Shi a1937bf54c core: use FaceUri from ndn-cxx
refs #2143

Change-Id: Ida06daf406f941a699c9f1013450951db3cd28e9
2014-11-14 12:44:55 -08:00
Alexander Afanasyev 7465d5fc0c face: Workaround to Boost.Asio bug 8795 with async_connect
Change-Id: I033a9ae719306f1af605124d982df60b9a8e7372
Refs: #1736
2014-07-07 19:52:19 -07:00
Steve DiBenedetto 2aa4eca578 face: prevent creation of duplicate tcp/udp faces due to async calls
refs: #1680

Change-Id: I0e685d6bde1f6745902c86f782d41c9070aecb21
2014-06-20 19:37:20 -07:00
Alexander Afanasyev 1886180829 faces: Replace deadline_timer usage in TcpChannel with Scheduler-based events
Change-Id: I37a7a3203b3187e029697a21e3314cfacbbed314
Refs: #1368
2014-06-13 20:30:55 -07:00
Alexander Afanasyev f6980284e6 src: Remove unnecessary uses of boost::cref in make_shared and replace boost::cref/boost::ref with just cref/ref
In some cases, due to argument-dependent lookup, it is necessary to use
ndn::ref, instead of just ref.

Change-Id: I682180a007609535855f77511b49622154ad4f11
Refs: #1591
2014-05-15 09:52:28 -07:00
Alexander Afanasyev 9bcbc7c130 docs: Update of copyright and license statement in all .hpp and .cpp files
Change-Id: I4082db67f2390482615a780d91a513f09d57a9a4
Refs: #1266
2014-04-07 09:18:25 -07:00
Alexander Afanasyev 53a6fd33b9 face: Implementing forgotten isListening() feature in TcpChannel
Change-Id: Idfcd8337d16b414d2f739f936660dffdce413729
2014-03-24 17:01:45 -07:00
Alexander Afanasyev 355c066fe1 face: Implementing new "isOnDemand" flag
This flags replaces isPermanent flag in datagram faces, but with the
reversed logic (isPermanent = !isOnDemand)

Change-Id: I37ba604e5f105ca95a79a08b8cfc3d640df8b412
Refs: #1376
2014-03-20 18:10:44 -07:00
Alexander Afanasyev eb3197fa35 all: Update code to compile with latest time-related changes in ndn-cpp-dev library
Change-Id: I7e859989c833001f49b286d4a9917f4dc740b4a4
2014-03-18 17:34:12 -07:00
Alexander Afanasyev eee71fd6bc face: Disable IPv4-mapping of IPv6 addresses in TCP and UDP channels
Change-Id: I9997ed4114b9708778ee55f82f567264dede6798
Refs: #1352
2014-03-13 17:49:00 -07:00
Alexander Afanasyev 69a342712d face: Fix bug when TcpChannel::handleSuccessfulConnect seem to be called before channel is acutally connected
Change-Id: Ibf50da48f01137649ffd90e8f6d16c4f03c87a2b
Refs: #1344
2014-03-08 01:58:47 -08:00
Junxiao Shi 61e3cc51ed faces: Channel base class
refs #1261

Change-Id: If17037c4802cb6ccec0201c3bff7fc4b6db41c6a
2014-03-05 11:56:10 -07:00
Alexander Afanasyev 5f1ec25245 face: Minor updates of TCP faces
Change-Id: I9a11fb4b2cd1aaaa670313cab0b08f097554e1fc
2014-02-28 16:12:46 -08:00
Davide Pesavento 855bf2999c face: Fix minor typo in TcpChannel method name.
Change-Id: I93d8ba199de972422e9380455e13254085438720
2014-02-26 21:21:59 -08:00
Alexander Afanasyev bfd31de5a9 build: Requiring boost >=1.48 during configure step
Change-Id: I09110e9993903a3157be22948a7275c4625cd393
Refs: #1186
2014-02-26 15:32:34 -08:00
Alexander Afanasyev 232c987a03 face: Implementing ip::address::is_loopback method for Boost <1.47
boost::ip::address::is_loopback method appeared only in Boost 1.47.
This commit enables the same functionality for earlier versions of
boost, based on implementation in 1.55.

Change-Id: I571408fc7db44eebd14405e7b7a9810b5d061802
2014-02-20 20:54:04 -08:00
Alexander Afanasyev bd220a053b face: Implementation of encode/decode of LocalControlHeader
LocalControlHeader can only be used on faces that are derived from
LocalFace.  UnixStreamFace is directly inherited from LocalFace,
TCP face has two specializations: generic TcpFace (strictly not local),
and LocalTcpFace.

refs #1213

Change-Id: I8a158c3bc4bb929eedd15757cfddecc0d1049f9f
2014-02-20 15:54:22 -08:00
Alexander Afanasyev a0a10fb081 face: Implementing close operation and many related fixes in TcpFace and TcpChannel
Change-Id: Ib6b751e80454e149bf94f3867663d5e705cbf4a0
refs: #1250, #1248
2014-02-14 10:00:50 -08:00
Alexander Afanasyev a16abd2822 face/tcp: Fixing multiple accept on a channel
Also, this commit includes more thorough test for TCP channel (testing
if multiple connections can be made to the same channel).

Change-Id: I3b89a6d994b5b17286448013aa04a77c92c0267a
refs: #1134
2014-01-31 18:13:36 -08:00
Alexander Afanasyev 3958b015d5 face/tcp: Fixing TcpChannel and TcpFace implementation and enable basic logging in both
Change-Id: If9a00c13caccbeb117204655ced293d49860d6e4
refs: #1134, #1133
2014-01-31 17:24:23 -08:00
Junxiao Shi 8c8d2187b3 fw: integrate forwarder, strategy, tables
refs #1131, #1136

Change-Id: Ica58341cdc1ea1dc421693a87f35fc50177a707d
2014-01-31 00:53:45 -07:00
Alexander Afanasyev 18bbf81601 src: Changing namespace ndn to namespace nfd
Also, this commit imports used classes from ::ndn namespace (from
NDN-CPP library) directly to ::nfd namespace.

refs: #1163

Change-Id: I9cc9d72e00af495b4ed0c84e6d418a7c9ba986cb
2014-01-29 14:12:58 -08:00
Alexander Afanasyev 334b714823 face/tcp: Add map of remoteEndpoint-Face within channel
If connect operation requested twice for the same remote endpoint (and
the first connection was successful), the second request will call
FaceCreated callback immediately (or after endpoint resolution) with the
previously created face.

refs: #1132, #1134

Change-Id: I5f7e5237a42289a96d7fd9d16bda47fc7cda4dfc
2014-01-28 22:59:25 -08:00
Alexander Afanasyev 855a53c51e face/tcp: Adding success/fail callbacks for TCP channel connect/listen
refs: #1132, #1133, #1134, #1135

Change-Id: I7df15dd9cd24f26b1ed96a4781934ffd93bc8f6e
2014-01-28 22:52:28 -08:00
Alexander Afanasyev 8ad71bac3e face/tcp: Implementing accepting and establishing connections with TCP Channel
refs: #1132, #1133, #1134, #1135

Change-Id: I8878784059fd962187bfcdd23b5adcaf9135cf4e
2014-01-28 22:49:42 -08:00
Alexander Afanasyev a9034b0e0f face: Skeleton implementation for the TCP protocol (face, channel, factory)
refs: #1132, #1133, #1134, #1135

Change-Id: I4a5935a078c7289dc6ea9b33f358f1a578c4405c
2014-01-27 00:20:04 -08:00