beegfs/meta/source/session/LockingNotifier.h
2025-08-10 01:34:16 +02:00

27 lines
733 B
C++

#pragma once
#include <common/Common.h>
#include <storage/Locking.h>
#include <components/worker/LockEntryNotificationWork.h>
#include <components/worker/LockRangeNotificationWork.h>
/**
* Creates work packages to notify waiting clients/processes about file lock grants.
*/
class LockingNotifier
{
public:
static void notifyWaitersEntryLock(LockEntryNotifyType lockType,
const std::string& parentEntryID, const std::string& entryID, bool isBuddyMirrored,
LockEntryNotifyList notifyList);
static void notifyWaitersRangeLock(const std::string& parentEntryID,
const std::string& entryID, bool isBuddyMirrored, LockRangeNotifyList notifyList);
private:
LockingNotifier() {}
};