OCaml wire format DSL with EverParse 3D output for verified parsers
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: merge wire codecs into core protocol libraries

Move Wire-based codecs from separate wire/ sublibraries into the core
libraries as Packed/Packed_header submodules. This eliminates the
clcw-wire, space-packet.wire, and tm-wire packages while keeping the
same functionality accessible via Clcw.Packed, Space_packet.Packed_header,
and Tm.Packed_header.

+16 -16
+15 -15
bench/bench_wire_memtrace.ml
··· 25 25 b) 26 26 27 27 let clcw_wire_vals = 28 - Array.map (fun b -> Wire.Codec.decode Clcw_wire.codec b 0) clcw_bytes 28 + Array.map (fun b -> Wire.Codec.decode Clcw.Packed.codec b 0) clcw_bytes 29 29 30 30 (** {1 Space Packet test data} *) 31 31 ··· 38 38 b) 39 39 40 40 let sp_wire_vals = 41 - Array.map (fun b -> Space_packet_wire.decode_exn b 0) sp_bytes 41 + Array.map (fun b -> Space_packet.Packed_header.decode_exn b 0) sp_bytes 42 42 43 43 (** {1 TM test data} *) 44 44 ··· 55 55 Bytes.set_uint16_be b 4 ((1 lsl 14) lor (3 lsl 11) lor (i mod 2048)); 56 56 b) 57 57 58 - let tm_wire_vals = Array.map (fun b -> Tm_wire.decode_exn b 0) tm_bytes 58 + let tm_wire_vals = Array.map (fun b -> Tm.Packed_header.decode_exn b 0) tm_bytes 59 59 60 60 (** {1 Roundtrip loops} *) 61 61 62 62 let clcw_roundtrip () = 63 63 for i = 0 to Array.length clcw_bytes - 1 do 64 - let t = Wire.Codec.decode Clcw_wire.codec clcw_bytes.(i) 0 in 64 + let t = Wire.Codec.decode Clcw.Packed.codec clcw_bytes.(i) 0 in 65 65 let buf = Bytes.create 4 in 66 - Wire.Codec.encode Clcw_wire.codec t buf 0 66 + Wire.Codec.encode Clcw.Packed.codec t buf 0 67 67 done 68 68 69 69 let sp_roundtrip () = 70 70 for i = 0 to Array.length sp_bytes - 1 do 71 - let t = Space_packet_wire.decode_exn sp_bytes.(i) 0 in 71 + let t = Space_packet.Packed_header.decode_exn sp_bytes.(i) 0 in 72 72 let buf = Bytes.create 6 in 73 - Space_packet_wire.encode t buf 0 73 + Space_packet.Packed_header.encode t buf 0 74 74 done 75 75 76 76 let tm_roundtrip () = 77 77 for i = 0 to Array.length tm_bytes - 1 do 78 - let t = Tm_wire.decode_exn tm_bytes.(i) 0 in 78 + let t = Tm.Packed_header.decode_exn tm_bytes.(i) 0 in 79 79 let buf = Bytes.create 6 in 80 - Tm_wire.encode t buf 0 80 + Tm.Packed_header.encode t buf 0 81 81 done 82 82 83 83 (* Decode-only loops *) 84 84 let clcw_decode () = 85 85 for i = 0 to Array.length clcw_bytes - 1 do 86 - let _ = Wire.Codec.decode Clcw_wire.codec clcw_bytes.(i) 0 in 86 + let _ = Wire.Codec.decode Clcw.Packed.codec clcw_bytes.(i) 0 in 87 87 () 88 88 done 89 89 90 90 let sp_decode () = 91 91 for i = 0 to Array.length sp_bytes - 1 do 92 - let _ = Space_packet_wire.decode_exn sp_bytes.(i) 0 in 92 + let _ = Space_packet.Packed_header.decode_exn sp_bytes.(i) 0 in 93 93 () 94 94 done 95 95 96 96 let tm_decode () = 97 97 for i = 0 to Array.length tm_bytes - 1 do 98 - let _ = Tm_wire.decode_exn tm_bytes.(i) 0 in 98 + let _ = Tm.Packed_header.decode_exn tm_bytes.(i) 0 in 99 99 () 100 100 done 101 101 ··· 103 103 let clcw_encode () = 104 104 for i = 0 to Array.length clcw_wire_vals - 1 do 105 105 let buf = Bytes.create 4 in 106 - Wire.Codec.encode Clcw_wire.codec clcw_wire_vals.(i) buf 0 106 + Wire.Codec.encode Clcw.Packed.codec clcw_wire_vals.(i) buf 0 107 107 done 108 108 109 109 let sp_encode () = 110 110 for i = 0 to Array.length sp_wire_vals - 1 do 111 111 let buf = Bytes.create 6 in 112 - Space_packet_wire.encode sp_wire_vals.(i) buf 0 112 + Space_packet.Packed_header.encode sp_wire_vals.(i) buf 0 113 113 done 114 114 115 115 let tm_encode () = 116 116 for i = 0 to Array.length tm_wire_vals - 1 do 117 117 let buf = Bytes.create 6 in 118 - Tm_wire.encode tm_wire_vals.(i) buf 0 118 + Tm.Packed_header.encode tm_wire_vals.(i) buf 0 119 119 done 120 120 121 121 let run label decode encode roundtrip =
+1 -1
bench/dune
··· 1 1 (executable 2 2 (name bench_wire_memtrace) 3 3 (modules bench_wire_memtrace) 4 - (libraries clcw-wire space-packet.wire tm-wire memtrace)) 4 + (libraries clcw space-packet tm wire memtrace)) 5 5 6 6 (executable 7 7 (name bench_alloc)