deviceaccess.DataConsistencyGroup

class deviceaccess.DataConsistencyGroup

Bases: pybind11_object

__init__(self: deviceaccess.DataConsistencyGroup, matchingMode: ChimeraTK::DataConsistencyGroup::MatchingMode) None

Create a data consistency group.

Args:

matchingMode (MatchingMode): Matching strategy used to determine whether group members are consistent.

Methods

__init__(self, matchingMode)

Create a data consistency group.

add(self, element)

Add a TransferElement to the group.

getMatchingMode(self)

Get the current MatchingMode of this DataConsistencyGroup.

isConsistent(self)

Check whether the group is currently in a consistent state.

update(self, updatedId)

Process an update notification for one TransferElement.

__init__(self: deviceaccess.DataConsistencyGroup, matchingMode: ChimeraTK::DataConsistencyGroup::MatchingMode) None

Create a data consistency group.

Args:

matchingMode (MatchingMode): Matching strategy used to determine whether group members are consistent.

add(self: deviceaccess.DataConsistencyGroup, element: deviceaccess.TransferElementBase) None

Add a TransferElement to the group.

The same TransferElement can be part of multiple DataConsistencyGroup instances.

Args:

element (TransferElementBase): Element to add. It must be readable and use AccessMode.wait_for_new_data.

getMatchingMode(self: deviceaccess.DataConsistencyGroup) ChimeraTK::DataConsistencyGroup::MatchingMode

Get the current MatchingMode of this DataConsistencyGroup.

Returns:

MatchingMode: The matching mode used by this group.

isConsistent(self: deviceaccess.DataConsistencyGroup) bool

Check whether the group is currently in a consistent state.

Returns:

bool: True if a consistent state is reached, False otherwise.

update(self: deviceaccess.DataConsistencyGroup, updatedId: ChimeraTK::TransferElementID) bool

Process an update notification for one TransferElement.

Call this after an update was received from ReadAnyGroup.

Args:

updatedId (TransferElementID): ID of the element that received an update.

Returns:

bool: True if the group is in a consistent state after processing the update. False if the updated ID was not added to this group.

Note:

For MatchingMode.historized, ReadAnyGroup only forwards consistent updates, so this function normally returns true.