caproto.server.PvpropertyData¶
- class caproto.server.PvpropertyData(*, pvname: str, group: PVGroup, pvspec: PVSpec, doc: str | None = None, record: str | Type[T_RecordFields] | None = None, logger: Logger | None = None, **kwargs)[source]¶
A top-level class for mixing in with ChannelData subclasses.
Takes in a fully-expanded pvname, PVSpec, and group instance.
- Parameters:
- pvnamestr
The fully expanded process variable name.
- groupPVGroup
The PVGroup instance to which this pvproperty belongs.
- pvspecPVSpec
The associated PVSpec instance, containing detailed information about the pvproperty.
- docstr, optional
Docstring / documentation information.
- recordstr, optional
The record type to report over channel access. This can be queried by way of
caproto-get record.RTYP
orcaproto-get -d 38 --format "{response.metadata.value}" record
- **kwargs
Passed to the superclass, along with reported_record_type.
Methods
auth_read
(hostname, username, data_type, *)Get DBR data and native data, converted to a specific type
auth_write
(hostname, username, data, ...[, ...])Data write hook for clients.
calculate_length
(value)Calculate the number of elements given a value
check_access
(hostname, username)This always returns
AccessRights.READ|AccessRights.WRITE
.get_field
(field)Get a field by name.
is_compatible_array
(value)Check if the provided value is a compatible array.
post_state_change
(state, new_value)This is called by the server when it exits its StateUpdateContext.
pre_state_change
(state, new_value)This is called by the server when it enters its StateUpdateContext.
preprocess_value
(value)Pre-process values destined for verify_value and write
publish
(flags)Publish data to appropriate queues matching the SubscriptionSpec.
read
(data_type)The top-level read method, with a specific requested data type.
subscribe
(queue, sub_spec, sub)Subscribe a queue for the given subscription specification.
unsubscribe
(queue, sub_spec)Unsubscribe a queue for the given subscription specification.
update_fields
(value)This is a hook to update field instance data.
verify_value
(value)The top-level dbr-facing "write" method.
write
(value, *[, flags, verify_value, ...])Write data from native Python types.
write_from_dbr
(data, data_type, metadata, *)Write data from a provided DBR data type.
write_metadata
([publish, units, precision, ...])Write metadata, optionally publishing information to clients.
Attributes
alarm
The ChannelAlarm associated with this data
data_type
default_value
epics_timestamp
EPICS timestamp as (seconds, nanoseconds) since EPICS epoch.
length
The number of elements (length) of the current value
max_length
The maximum number of elements (length) this channel can hold
severity
Alarm severity
status
Alarm status
timestamp
UNIX timestamp in seconds.
value
Read-only access to value data
field_inst
fields
getter
group
log
name
putter
pvname
pvspec
record_type
scan
shutdown
startup
max_subscription_backlog