Frame Lock
For conceptual usage, see:
FrameLock objects in C++ are referenced by the following shared pointer typedef:
-
typedef std::shared_ptr<rogue::interfaces::stream::FrameLock> rogue::interfaces::stream::FrameLockPtr
[header] Shared pointer alias for
FrameLock.
The class description is shown below:
-
class FrameLock
[header] Scoped lock wrapper for stream frames.
Holds a lock while frame data is accessed. This allows multiple stream slaves to read/update safely while ensuring only one updater at a time. Locks are released on destruction. Instances are created via
Frame::lock().Public Functions
Constructs a lock wrapper for the provided frame.
Constructor.
This constructor is a low-level C++ allocation path. Prefer
create()when shared ownership or Python exposure is required.- Parameters:
frame – Frame to lock.
-
void lock()
[header] [impl] Locks the associated frame when not already locked.
lock
Exposed as
lock()in Python.
-
void unlock()
[header] [impl] Unlocks the associated frame when currently locked.
lock
Exposed as
unlock()in Python.
Public Static Functions
Creates a frame lock wrapper.
Create a frame container.
Intended for internal use by
Frame. Parameter semantics are identical to the constructor; seeFrameLock()for lock-wrapper behavior details. This static factory is the preferred construction path when the object is shared across Rogue graph connections or exposed to Python. It returnsstd::shared_ptrownership compatible with Rogue pointer typedefs.Company : SLAC National Accelerator Laboratory
Description: lock
This file is part of the rogue software platform. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of the rogue software platform, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE.txt file.
- Parameters:
frame – Frame to lock.
- Returns:
Shared pointer to the created lock object.