Struct fog_pack::validator::BinValidator[][src]

pub struct BinValidator {
Show 15 fields pub comment: String, pub bits_clr: ByteBuf, pub bits_set: ByteBuf, pub max: ByteBuf, pub min: ByteBuf, pub ex_max: bool, pub ex_min: bool, pub max_len: u32, pub min_len: u32, pub in_list: Vec<ByteBuf>, pub nin_list: Vec<ByteBuf>, pub query: bool, pub bit: bool, pub ord: bool, pub size: bool,
}
Expand description

Validator for byte sequences.

This validator type will only pass binary values (a sequence of bytes). A binary sequence can also be treated as a little-endian arbitrary-length unsigned integer. Validation passes if:

  • The bits set in bits_clr are cleared in the byte sequence.
  • The bits set in bits_set are set in the byte sequence.
  • If max has 1 or more bytes, the value is less than the maximum in max, or equal to it if ex_max is not set to true.
  • The value is greater than the minimum in min, or equal to it if ex_min is not set to true.
  • The value’s length in bytes is less than or equal to the value in max_len.
  • The value’s length in bytes is greater than or equal to the value in min_len.
  • If the in list is not empty, the value must be among the values in the list.
  • The value must not be among the values in the nin list.

Defaults

Fields that aren’t specified for the validator use their defaults instead. The defaults for each field are:

  • comment: “”
  • bits_clr: empty
  • bits_set: empty
  • max: empty
  • min: empty
  • ex_max: false
  • ex_min: false
  • max_len: u32::MAX
  • min_len: 0
  • in_list: empty
  • nin_list: empty
  • query: false
  • bit: false
  • ord: false
  • size: false

Fields

comment: String

An optional comment explaining the validator.

bits_clr: ByteBuf

A byte sequence used as a bit field. Any bits set in it must be cleared in an allowed value.

bits_set: ByteBuf

A byte sequence used as a bit field. Any bits set in it must be set in an allowed value.

max: ByteBuf

The maximum allowed value, as a little-endian arbitrary-length unsigned integer. If no bytes are present, there is no maximum.

min: ByteBuf

The minimum allowed value, as a little-endian arbitrary-length unsigned integer.

ex_max: bool

Changes max into an exclusive maximum.

ex_min: bool

Changes min into an exclusive maximum.

max_len: u32

Set the maximum allowed number of bytes.

min_len: u32

Set the minimum allowed number of bytes.

in_list: Vec<ByteBuf>

A vector of specific allowed values, stored under the in field. If empty, this vector is not checked against.

nin_list: Vec<ByteBuf>

A vector of specific unallowed values, stored under the nin field.

query: bool

If true, queries against matching spots may have values in the in or nin lists.

bit: bool

If true, queries against matching spots may set the bits_clr and bits_set values to be non-zero.

ord: bool

If true, queries against matching spots may set the max, min, ex_max, and ex_min values to non-defaults.

size: bool

If true, queries against matching spots may set the min_len and max_len values to non-defaults.

Implementations

Make a new validator with the default configuration.

Set a comment for the validator.

Choose which bits must be set.

Choose which bits must be cleared.

Set the maximum allowed value.

Set the minimum allowed value.

Set whether or or not max is an exclusive maximum.

Set whether or or not min is an exclusive maximum.

Set the maximum number of allowed bytes.

Set the minimum number of allowed bytes.

Add a value to the in list.

Add a value to the nin list.

Set whether or not queries can use the in and nin lists.

Set whether or not queries can use the bits_clr and bits_set values.

Set whether or not queries can use the max, min, ex_max, and ex_min values.

Set whether or not queries can use the max_len and min_len values.

Build this into a Validator enum.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.