Removed peer cleanup

This commit is contained in:
Kirill Andreev
2009-05-04 00:04:21 +04:00
parent 3300dc8b17
commit deb0af06ec
2 changed files with 11 additions and 21 deletions

View File

@@ -305,12 +305,21 @@ PeerManagementProtocol::InitiateLink (
Ptr<PeerLink>
PeerManagementProtocol::FindPeerLink(uint32_t interface, Mac48Address peerAddress)
{
PeerCleanup ();
PeerLinksMap::iterator iface = m_peerLinks.find (interface);
NS_ASSERT (iface != m_peerLinks.end());
for (PeerLinksOnInterface::iterator i = iface->second.begin (); i != iface->second.end(); i++)
if ((*i)->GetPeerAddress () == peerAddress)
return (*i);
{
if((*i)->LinkIsIdle ())
{
(*i)->ClearTimingElement ();
(*i) = 0;
(iface->second).erase(i);
return 0;
}
else
return (*i);
}
return 0;
}
void
@@ -329,21 +338,6 @@ PeerManagementProtocol::GetActiveLinks(uint32_t interface)
retval.push_back((*i)->GetPeerAddress ());
return retval;
}
void
PeerManagementProtocol::PeerCleanup ()
{
for (
PeerLinksMap::iterator j = m_peerLinks.begin ();
j != m_peerLinks.end ();
j++)
for (unsigned int i = j->second.size (); i > 0; i--)
if(j->second[i-1]->LinkIsIdle ())
{
j->second[i-1]->ClearTimingElement ();
j->second[i-1] = 0;
j->second.erase (j->second.begin() + i-1);
}
}
bool
PeerManagementProtocol::IsActiveLink (uint32_t interface, Mac48Address peerAddress)
{

View File

@@ -181,10 +181,6 @@ private:
* \brief Indicates changes in peer links
*/
void PeerLinkStatus (uint32_t interface, Mac48Address peerAddress, Mac48Address peerMeshPointAddres, bool status);
/**
* Removes all links which are idle
*/
void PeerCleanup ();
///\brief BCA
Time GetNextBeaconShift (uint32_t interface);
private: