MCPcopy Create free account
hub / github.com/MITK/MITK / AcquireRequestTempDir

Method AcquireRequestTempDir

Modules/RESTAPI/src/mitkDataStorageController.cpp:335–353  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

333}
334
335fs::path DataStorageController::AcquireRequestTempDir(const std::string& clientIp)
336{
337 // Allocate directory before acquiring the lock (IO may be slow; no lock needed yet).
338 auto newDir = fs::path(IOUtil::CreateTemporaryDirectory("data_XXXXXX", m_TempDirectory));
339
340 std::lock_guard<std::mutex> lock(m_ActiveTempDirsMutex);
341
342 auto& queue = m_ActiveTempDirsByIp[clientIp];
343
344 // Evict this client's oldest directory if the quota is reached.
345 while (queue.size() >= m_MaxActiveTempDirsPerIp && !queue.empty())
346 {
347 fs::remove_all(queue.front()); // safe even if already deleted
348 queue.pop_front();
349 }
350
351 queue.push_back(newDir);
352 return newDir;
353}
354
355void DataStorageController::ReleaseRequestTempDir(const std::string& clientIp, const fs::path& dir)
356{

Callers 1

Calls 3

frontMethod · 0.80
sizeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected