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

Method removing

dds/DCPS/FileSystemStorage.cpp:847–866  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

845}
846
847void Directory::removing(const ACE_TString& child, bool file)
848{
849 Map& m = file ? files_ : dirs_;
850 Map::iterator iter = m.find(child);
851
852 if (iter == m.end()) return;
853
854 const ACE_TString& phys = iter->second;
855 String_Index_t idx = phys.find(ACE_TEXT("_overflow."));
856 unsigned int bucket = (idx == 0 ? static_cast<unsigned int>(ACE_OS::atoi(&phys[idx + 10])) : 0);
857
858 if (--overflow_[bucket] == 0 && bucket > 0) {
859 overflow_.erase(bucket);
860 idx = phys.find(ACE_TEXT('/'));
861 ACE_TString ov_dir = physical_dirname_ + ACE_TString(phys.c_str(), idx);
862 dds_rmdir(ov_dir.c_str());
863 }
864
865 m.erase(iter);
866}
867
868// Base32Hex
869

Callers 1

removeMethod · 0.80

Calls 4

dds_rmdirFunction · 0.85
findMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected