ErrorStatus

Enum ErrorStatus 

Source
#[non_exhaustive]
pub enum ErrorStatus {
Show 20 variants NoError, TooBig, NoSuchName, BadValue, ReadOnly, GenErr, NoAccess, WrongType, WrongLength, WrongEncoding, WrongValue, NoCreation, InconsistentValue, ResourceUnavailable, CommitFailed, UndoFailed, AuthorizationError, NotWritable, InconsistentName, Unknown(i32),
}
Expand description

SNMP protocol error status codes (RFC 3416).

These codes are returned by SNMP agents to indicate the result of an operation. The error status is included in the Error::Snmp variant along with an error index indicating which varbind caused the error.

§Error Categories

§SNMPv1 Errors (0-5)

  • NoError - Operation succeeded
  • TooBig - Response too large for transport
  • NoSuchName - OID not found (v1 only; v2c+ uses exceptions)
  • BadValue - Invalid value in SET
  • ReadOnly - Attempted write to read-only object
  • GenErr - Unspecified error

§SNMPv2c/v3 Errors (6-18)

These provide more specific error information for SET operations:

  • NoAccess - Object not accessible (access control)
  • WrongType - Value has wrong ASN.1 type
  • WrongLength - Value has wrong length
  • WrongValue - Value out of range or invalid
  • NotWritable - Object does not support SET
  • AuthorizationError - Access denied by VACM

§Example

use async_snmp::ErrorStatus;

let status = ErrorStatus::from_i32(2);
assert_eq!(status, ErrorStatus::NoSuchName);
assert_eq!(status.as_i32(), 2);
println!("Error: {}", status); // prints "noSuchName"

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

NoError

Operation completed successfully (status = 0).

§

TooBig

Response message would be too large for transport (status = 1).

§

NoSuchName

Requested OID not found (status = 2). SNMPv1 only; v2c+ uses exception values.

§

BadValue

Invalid value provided in SET request (status = 3).

§

ReadOnly

Attempted to SET a read-only object (status = 4).

§

GenErr

Unspecified error occurred (status = 5).

§

NoAccess

Object exists but access is denied (status = 6).

§

WrongType

SET value has wrong ASN.1 type (status = 7).

§

WrongLength

SET value has incorrect length (status = 8).

§

WrongEncoding

SET value uses wrong encoding (status = 9).

§

WrongValue

SET value is out of range or otherwise invalid (status = 10).

§

NoCreation

Object does not support row creation (status = 11).

§

InconsistentValue

Value is inconsistent with other managed objects (status = 12).

§

ResourceUnavailable

Resource required for SET is unavailable (status = 13).

§

CommitFailed

SET commit phase failed (status = 14).

§

UndoFailed

SET undo phase failed (status = 15).

§

AuthorizationError

Access denied by VACM (status = 16).

§

NotWritable

Object does not support modification (status = 17).

§

InconsistentName

Named object cannot be created (status = 18).

§

Unknown(i32)

Unknown or future error status code.

Implementations§

Source§

impl ErrorStatus

Source

pub fn from_i32(value: i32) -> Self

Create from raw status code.

Source

pub fn as_i32(&self) -> i32

Convert to raw status code.

Trait Implementations§

Source§

impl Clone for ErrorStatus

Source§

fn clone(&self) -> ErrorStatus

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ErrorStatus

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for ErrorStatus

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ErrorStatus

Source§

fn eq(&self, other: &ErrorStatus) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ErrorStatus

Source§

impl Eq for ErrorStatus

Source§

impl StructuralPartialEq for ErrorStatus

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more