#[repr(i32)]pub enum VerificationUnitLevel {
Unspecified = 0,
DerivedUnit = 1,
EnclosingUnit = 2,
None = 3,
}Expand description
The level of organizational unit a verification question is put at.
Verification asks somebody other than the audience whether the behaviour changed for a unit. Which unit that is has two sides pulling against each other.
A size floor pushes the choice upward: below a handful of people, an answer about the unit is in practice an answer about each of its members, and the whole reason for asking about a unit rather than about individuals disappears. Sensitivity pushes the choice downward: a measure is only worth reading when whoever answers can influence what is being asked about, and a question put far above the work stops reflecting anybody’s effort while still looking like a measurement. The level worth choosing is the smallest one that clears the floor.
Which levels exist is a fact about the organization and only the organization can state it. A reporting line is not a map of meaningful units — units that report to the same place may do unrelated work — so a level is never inferred from one. When no level satisfies both sides, the honest outcome is that the indicator gets no evidence by this route, and this enum makes that expressible instead of leaving it looking like a question that was asked.
Variants§
Unspecified = 0
No level chosen. On an indicator this means the organization’s default applies; on the organization it means the platform default applies, which is VERIFICATION_UNIT_LEVEL_DERIVED_UNIT. Consumers MUST NOT present this value as a choice somebody made.
DerivedUnit = 1
Ask at the unit the verifier derivation resolves to. The smallest level available, and therefore the one whose answers track the work most closely. The floor still applies here: a unit below it is not asked at this level and contributes nothing, so a reading covers only the units that cleared the floor and never every unit the derivation reached.
EnclosingUnit = 2
Ask at the wider unit the organization’s declared structure places over the derived one. This is what rising above the floor looks like when the organization has somewhere to rise to, and the organization is the one that says so. The cost is paid in sensitivity: whoever answers is further from the work, and an answer covering a unit whose parts do unrelated things says less about any of them. Where the organization has declared no level above, or the wider unit is itself below the floor, no question is asked and no evidence is produced.
None = 3
Do not ask by this route at all. The indicator keeps whatever other evidence sources it has and simply gets none from verification. This is the outcome for an organization flat enough that no level clears the floor, and it is a decision rather than a failure: consumers MUST NOT show it as a collection that is pending, overdue or broken.
Implementations§
Source§impl VerificationUnitLevel
impl VerificationUnitLevel
Sourcepub const fn is_valid(value: i32) -> bool
pub const fn is_valid(value: i32) -> bool
Returns true if value is a variant of VerificationUnitLevel.
Sourcepub fn from_i32(value: i32) -> Option<VerificationUnitLevel>
👎Deprecated: Use the TryFrom<i32> implementation instead
pub fn from_i32(value: i32) -> Option<VerificationUnitLevel>
Use the TryFrom<i32> implementation instead
Converts an i32 to a VerificationUnitLevel, or None if value is not a valid variant.
Source§impl VerificationUnitLevel
impl VerificationUnitLevel
Sourcepub fn as_str_name(&self) -> &'static str
pub fn as_str_name(&self) -> &'static str
String value of the enum field names used in the ProtoBuf definition.
The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.
Sourcepub fn from_str_name(value: &str) -> Option<Self>
pub fn from_str_name(value: &str) -> Option<Self>
Creates an enum from field names used in the ProtoBuf definition.
Trait Implementations§
Source§impl Clone for VerificationUnitLevel
impl Clone for VerificationUnitLevel
Source§fn clone(&self) -> VerificationUnitLevel
fn clone(&self) -> VerificationUnitLevel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for VerificationUnitLevel
Source§impl Debug for VerificationUnitLevel
impl Debug for VerificationUnitLevel
Source§impl Default for VerificationUnitLevel
impl Default for VerificationUnitLevel
Source§fn default() -> VerificationUnitLevel
fn default() -> VerificationUnitLevel
impl Eq for VerificationUnitLevel
Source§impl From<VerificationUnitLevel> for i32
impl From<VerificationUnitLevel> for i32
Source§fn from(value: VerificationUnitLevel) -> i32
fn from(value: VerificationUnitLevel) -> i32
Source§impl Hash for VerificationUnitLevel
impl Hash for VerificationUnitLevel
Source§impl Ord for VerificationUnitLevel
impl Ord for VerificationUnitLevel
Source§fn cmp(&self, other: &VerificationUnitLevel) -> Ordering
fn cmp(&self, other: &VerificationUnitLevel) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for VerificationUnitLevel
impl PartialEq for VerificationUnitLevel
Source§impl PartialOrd for VerificationUnitLevel
impl PartialOrd for VerificationUnitLevel
impl StructuralPartialEq for VerificationUnitLevel
Source§impl TryFrom<i32> for VerificationUnitLevel
impl TryFrom<i32> for VerificationUnitLevel
Source§type Error = UnknownEnumValue
type Error = UnknownEnumValue
Source§fn try_from(value: i32) -> Result<VerificationUnitLevel, UnknownEnumValue>
fn try_from(value: i32) -> Result<VerificationUnitLevel, UnknownEnumValue>
Auto Trait Implementations§
impl Freeze for VerificationUnitLevel
impl RefUnwindSafe for VerificationUnitLevel
impl Send for VerificationUnitLevel
impl Sync for VerificationUnitLevel
impl Unpin for VerificationUnitLevel
impl UnsafeUnpin for VerificationUnitLevel
impl UnwindSafe for VerificationUnitLevel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request