secret_vault_value/
value_proto.rs1use crate::SecretValue;
2use prost::bytes::{Buf, BufMut};
3use prost::encoding::{skip_field, DecodeContext, WireType};
4use prost::DecodeError;
5
6impl prost::Message for SecretValue {
7 fn encode_raw(&self, buf: &mut impl BufMut)
8 where
9 Self: Sized,
10 {
11 if self.ref_sensitive_value().is_empty() {
12 prost::encoding::bytes::encode(1, self.ref_sensitive_value(), buf)
13 }
14 }
15
16 fn merge_field(
17 &mut self,
18 tag: u32,
19 wire_type: WireType,
20 buf: &mut impl Buf,
21 ctx: DecodeContext,
22 ) -> Result<(), DecodeError>
23 where
24 Self: Sized,
25 {
26 if tag == 1 {
27 prost::encoding::bytes::merge(wire_type, self.ref_sensitive_value_mut(), buf, ctx)
28 } else {
29 skip_field(wire_type, tag, buf, ctx)
30 }
31 }
32
33 fn encoded_len(&self) -> usize {
34 if !self.ref_sensitive_value().is_empty() {
35 prost::encoding::bytes::encoded_len(1, self.ref_sensitive_value())
36 } else {
37 0
38 }
39 }
40
41 fn clear(&mut self) {
42 self.ref_sensitive_value_mut().clear()
43 }
44}