pub struct SignalView {
pub name: String,
pub description: String,
pub causal: bool,
pub because: String,
pub engine: String,
pub at: String,
pub value: Option<f64>,
}Expand description
Every shape at the root as well, because a window names a view on nearly
every line and arvo_api::research::StudyView would be noise. The names
do not collide: proto has no overloading and neither does this.
Every shape at the root as well, because a window names a view on nearly
every line and arvo_api::research::StudyView would be noise. The names
do not collide: proto has no overloading and neither does this.
Every shape at the root as well, because a window names a view on nearly
every line and arvo_api::research::StudyView would be noise. The names
do not collide: proto has no overloading and neither does this.
One signal a plugin publishes, as it stands right now (#163).
A signal that is declared and has no value is shown with none, not with a zero and not with whatever it last said. That is the invariant made visible: a reader looking at this list should be able to see the difference between “nothing to say” and “saying nothing has changed”.
Fields§
§name: String§description: String§causal: boolWhether each value is computed from what was known at that instant. A study may gate on a causal signal and never on a descriptive one.
because: StringWhy it is not causal, in the provider’s own words. Empty when it is.
engine: StringWhat computes it, by name and version.
at: StringThe instant the value describes, empty when there is no value.
value: Option<f64>None is the answer for a signal that is declared and silent, and
for one whose provider has gone away.
Implementations§
Trait Implementations§
Source§impl Clone for SignalView
impl Clone for SignalView
Source§impl Debug for SignalView
impl Debug for SignalView
Source§impl Default for SignalView
impl Default for SignalView
Source§impl<'de> Deserialize<'de> for SignalView
impl<'de> Deserialize<'de> for SignalView
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Message for SignalView
impl Message for SignalView
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.