pub enum DeclarationError {
AlreadyDeclared,
InvalidRange,
InitialValueOutOfRange,
StorageFull,
NameTooLong,
}Expand description
Why a declaration was refused — phase-417 W4.a.
rclrs separates DECLARE-time failures from set-time ones, and this is that
separation: SetParameterResult answers “may this WRITE happen”, this
answers “may this parameter EXIST”. Ours is a subset of rclrs’s, and the
difference is structural rather than an omission: rclrs’s
NoValueAvailable, OverrideValueTypeMismatch and PriorValueTypeMismatch
are about a launch OVERRIDE arriving before the declaration and disagreeing
with it, and nano-ros seeds overrides through the same
ParameterServer::apply path a remote set uses — so a disagreeing
override is a SetParameterResult, on the write that carried it, and
cannot reach a declaration.
Variants§
AlreadyDeclared
This node already declared this name (rclrs AlreadyDeclared).
InvalidRange
The descriptor’s range is ill-formed — min > max, or a negative step
(rclrs InvalidRange).
InitialValueOutOfRange
The default value is outside the descriptor’s range (rclrs
InitialValueOutOfRange).
StorageFull
Every slot of the caller-owned table is taken. No rclrs correspondent: rclrs’s store grows, ours is the storage the caller placed.
NameTooLong
The name is longer than NROS_MAX_PARAM_NAME_LEN. No rclrs
correspondent, same reason.
Trait Implementations§
Source§impl Clone for DeclarationError
impl Clone for DeclarationError
Source§fn clone(&self) -> DeclarationError
fn clone(&self) -> DeclarationError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more