ControllerEvent¶
-
class
lsst.ts.salobj.topics.
ControllerEvent
(salinfo, name)¶ Bases:
lsst.ts.salobj.topics.WriteTopic
Write a specific event topic.
Parameters: Attributes Summary
DataType
The class of data for this topic. data
Get or set internally cached data. has_data
Has data
ever been set?metadata
Get topic metadata as a TopicMetadata
, if available, elseNone
.Methods Summary
close
()Shut down and release resources. put
([data, priority])Output this topic. set
(**kwargs)Set one or more fields of self.data
.set_put
([force_output])Set zero or more fields of self.data
and put if changed or ifforce_output
true.Attributes Documentation
-
DataType
¶ The class of data for this topic.
-
data
¶ Get or set internally cached data.
Parameters: - data :
DataType
New data.
Raises: - TypeError
If
data
is not an instance ofDataType
Notes
You must not modify the returned data, nor assume that it will be constant. If you need a copy then make it yourself.
- data :
Methods Documentation
-
close
()¶ Shut down and release resources.
Intended to be called by SalInfo.close(), since that tracks all topics.
-
put
(data=None, priority=0)¶ Output this topic.
Parameters: Raises: - TypeError
If
data
is not None and not an instance ofDataType
.
-
set
(**kwargs)¶ Set one or more fields of
self.data
.Parameters: - **kwargs :
dict
[str
,any
] Dict of field name: new value for that field:
- Any key whose value is
None
is checked for existence, but the value of the field is not changed. - If the field being set is an array then the value must either be an array of the same length or a scalar (which replaces every element of the array).
- Any key whose value is
Returns: Raises: - AttributeError
If the topic does not have the specified field.
- ValueError
If the field cannot be set to the specified value.
Notes
If one or more fields cannot be set, the data may be partially updated. This is not ideal, but is pragmatic because it is difficult to copy SAL topics (see TSS-3195).
- **kwargs :
-
set_put
(force_output=False, **kwargs)¶ Set zero or more fields of
self.data
and put if changed or ifforce_output
true.The data is put if it has never been set (
has_data
False), or this call changes the value of any field, orforce_output
is true.Parameters: Returns: - did_put :
bool
True if the data was output, False otherwise
Raises: - AttributeError
If the topic does not have the specified field.
- ValueError
If the field cannot be set to the specified value.
- did_put :
-