moq_transfork/coding/
size.rs1use bytes::{buf::UninitSlice, Buf, BufMut};
2
3#[derive(Default)]
5pub struct Sizer {
6 pub size: usize,
7 buf: [u8; 16],
8}
9
10unsafe impl BufMut for Sizer {
11 unsafe fn advance_mut(&mut self, cnt: usize) {
12 self.size += cnt;
13 }
14
15 fn chunk_mut(&mut self) -> &mut UninitSlice {
16 UninitSlice::new(&mut self.buf)
17 }
18
19 fn remaining_mut(&self) -> usize {
20 usize::MAX
21 }
22
23 fn has_remaining_mut(&self) -> bool {
24 true
25 }
26
27 fn put<T: Buf>(&mut self, mut src: T) {
28 self.size += src.remaining();
29 src.advance(src.remaining());
30 }
31
32 fn put_bytes(&mut self, _val: u8, cnt: usize) {
33 self.size += cnt;
34 }
35
36 fn put_f32(&mut self, _val: f32) {
37 self.size += 4;
38 }
39
40 fn put_f32_le(&mut self, _: f32) {
41 self.size += 4
42 }
43
44 fn put_f32_ne(&mut self, _: f32) {
45 self.size += 4
46 }
47
48 fn put_f64(&mut self, _: f64) {
49 self.size += 8
50 }
51
52 fn put_f64_le(&mut self, _: f64) {
53 self.size += 8
54 }
55
56 fn put_f64_ne(&mut self, _: f64) {
57 self.size += 8
58 }
59
60 fn put_i128(&mut self, _: i128) {
61 self.size += 16
62 }
63
64 fn put_i128_le(&mut self, _: i128) {
65 self.size += 16
66 }
67
68 fn put_i128_ne(&mut self, _: i128) {
69 self.size += 16
70 }
71
72 fn put_i16(&mut self, _: i16) {
73 self.size += 2
74 }
75
76 fn put_i16_le(&mut self, _: i16) {
77 self.size += 2
78 }
79
80 fn put_i16_ne(&mut self, _: i16) {
81 self.size += 2
82 }
83
84 fn put_i32(&mut self, _: i32) {
85 self.size += 4
86 }
87
88 fn put_i32_le(&mut self, _: i32) {
89 self.size += 4
90 }
91
92 fn put_i32_ne(&mut self, _: i32) {
93 self.size += 4
94 }
95
96 fn put_i64(&mut self, _: i64) {
97 self.size += 8
98 }
99
100 fn put_i64_le(&mut self, _: i64) {
101 self.size += 8
102 }
103
104 fn put_i64_ne(&mut self, _: i64) {
105 self.size += 8
106 }
107
108 fn put_i8(&mut self, _: i8) {
109 self.size += 1
110 }
111
112 fn put_int(&mut self, _: i64, nbytes: usize) {
113 self.size += nbytes
114 }
115
116 fn put_int_le(&mut self, _: i64, nbytes: usize) {
117 self.size += nbytes
118 }
119
120 fn put_int_ne(&mut self, _: i64, nbytes: usize) {
121 self.size += nbytes
122 }
123
124 fn put_slice(&mut self, src: &[u8]) {
125 self.size += src.len();
126 }
127
128 fn put_u128(&mut self, _: u128) {
129 self.size += 16
130 }
131
132 fn put_u128_le(&mut self, _: u128) {
133 self.size += 16
134 }
135
136 fn put_u128_ne(&mut self, _: u128) {
137 self.size += 16
138 }
139
140 fn put_u16(&mut self, _: u16) {
141 self.size += 2
142 }
143
144 fn put_u16_le(&mut self, _: u16) {
145 self.size += 2
146 }
147
148 fn put_u16_ne(&mut self, _: u16) {
149 self.size += 2
150 }
151
152 fn put_u32(&mut self, _: u32) {
153 self.size += 4
154 }
155
156 fn put_u32_le(&mut self, _: u32) {
157 self.size += 4
158 }
159
160 fn put_u32_ne(&mut self, _: u32) {
161 self.size += 4
162 }
163
164 fn put_u64(&mut self, _: u64) {
165 self.size += 8
166 }
167
168 fn put_u64_le(&mut self, _: u64) {
169 self.size += 8
170 }
171
172 fn put_u64_ne(&mut self, _: u64) {
173 self.size += 8
174 }
175
176 fn put_u8(&mut self, _: u8) {
177 self.size += 1
178 }
179
180 fn put_uint(&mut self, _: u64, nbytes: usize) {
181 self.size += nbytes
182 }
183
184 fn put_uint_le(&mut self, _: u64, nbytes: usize) {
185 self.size += nbytes
186 }
187
188 fn put_uint_ne(&mut self, _: u64, nbytes: usize) {
189 self.size += nbytes
190 }
191
192 }