MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / erase

Method erase

dds/DCPS/security/AccessControlBuiltInImpl.cpp:1633–1666  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1631}
1632
1633void
1634AccessControlBuiltInImpl::RevokePermissions::erase(::DDS::Security::PermissionsHandle pm_handle)
1635{
1636 ACE_GUARD(ACE_Thread_Mutex, guard, lock_);
1637
1638 HandleToExpiration::iterator iter = handle_to_expiration_.find(pm_handle);
1639 if (iter == handle_to_expiration_.end()) {
1640 return;
1641 }
1642
1643 const time_t expiration = iter->second;
1644
1645 std::pair<ExpirationToHandle::iterator, ExpirationToHandle::iterator> er =
1646 expiration_to_handle_.equal_range(expiration);
1647 while (er.first != er.second) {
1648 if (er.first->second == pm_handle) {
1649 expiration_to_handle_.erase(er.first++);
1650 if (DCPS::security_debug.bookkeeping) {
1651 ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%P|%t) {bookkeeping} ")
1652 ACE_TEXT("AccessControlBuiltInImpl::RevokePermissions::erase expiration_to_handle_ (total %B)\n"),
1653 expiration_to_handle_.size()));
1654 }
1655 } else {
1656 ++er.first;
1657 }
1658 }
1659
1660 handle_to_expiration_.erase(pm_handle);
1661 if (DCPS::security_debug.bookkeeping) {
1662 ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%P|%t) {bookkeeping} ")
1663 ACE_TEXT("AccessControlBuiltInImpl::RevokePermissions::process handle_to_expiration_ (total %B)\n"),
1664 handle_to_expiration_.size()));
1665 }
1666}
1667
1668void
1669AccessControlBuiltInImpl::RevokePermissions::process()

Calls 3

findMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected