pub enum WellKnown {
Ip(bool),
Ipv4(bool),
Ipv6(bool),
Uuid(bool),
}Expand description
WellKnown rules provide advanced rules against common byte patterns
Variants§
Ip(bool)
ip ensures that the field value is a valid IP address (v4 or v6) in byte format.
If the field value doesn’t meet this rule, an error message is generated.
message MyBytes {
// value must be a valid IP address
optional bytes value = 1 \[(buf.validate.field).bytes.ip = true\];
}Ipv4(bool)
ipv4 ensures that the field value is a valid IPv4 address in byte format.
If the field value doesn’t meet this rule, an error message is generated.
message MyBytes {
// value must be a valid IPv4 address
optional bytes value = 1 \[(buf.validate.field).bytes.ipv4 = true\];
}Ipv6(bool)
ipv6 ensures that the field value is a valid IPv6 address in byte format.
If the field value doesn’t meet this rule, an error message is generated.
message MyBytes {
// value must be a valid IPv6 address
optional bytes value = 1 \[(buf.validate.field).bytes.ipv6 = true\];
}Uuid(bool)
uuid ensures that the field value encodes the 128-bit UUID data as
defined by RFC 4122.
The field must contain exactly 16 bytes
representing the UUID. If the field value isn’t a valid UUID, an error
message will be generated.
message MyBytes {
// value must be a valid UUID
optional bytes value = 1 \[(buf.validate.field).bytes.uuid = true\];
}Implementations§
Source§impl WellKnown
impl WellKnown
Sourcepub fn merge(
field: &mut Option<WellKnown>,
tag: u32,
wire_type: WireType,
buf: &mut impl Buf,
ctx: DecodeContext,
) -> Result<(), DecodeError>
pub fn merge( field: &mut Option<WellKnown>, tag: u32, wire_type: WireType, buf: &mut impl Buf, ctx: DecodeContext, ) -> Result<(), DecodeError>
Decodes an instance of the message from a buffer, and merges it into self.
Sourcepub fn encoded_len(&self) -> usize
pub fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.