model+ndn.cxx+test: Finishing implementation of ApiFace (now timeouts are working as well)
Also, adding a basic test case to test ApiFace
Refs #1005 (http://redmine.named-data.net/)
diff --git a/model/ndn-l3-protocol.cc b/model/ndn-l3-protocol.cc
index f0c660d..e89c9ea 100644
--- a/model/ndn-l3-protocol.cc
+++ b/model/ndn-l3-protocol.cc
@@ -108,10 +108,10 @@
{
NS_LOG_FUNCTION (this);
- for (FaceList::iterator i = m_faces.begin (); i != m_faces.end (); ++i)
- {
- *i = 0;
- }
+ // for (FaceList::iterator i = m_faces.begin (); i != m_faces.end (); ++i)
+ // {
+ // *i = 0;
+ // }
m_faces.clear ();
m_node = 0;
@@ -142,6 +142,7 @@
void
L3Protocol::RemoveFace (Ptr<Face> face)
{
+ NS_LOG_FUNCTION (this << boost::cref (*face));
// ask face to register in lower-layer stack
face->UnRegisterProtocolHandlers ();
Ptr<Pit> pit = GetObject<Pit> ();
@@ -166,7 +167,10 @@
}
FaceList::iterator face_it = find (m_faces.begin(), m_faces.end(), face);
- NS_ASSERT_MSG (face_it != m_faces.end (), "Attempt to remove face that doesn't exist");
+ if (face_it == m_faces.end ())
+ {
+ return;
+ }
m_faces.erase (face_it);
GetObject<Fib> ()->RemoveFromAll (face);