1
1
#![ allow( clippy:: repr_packed_without_abi) ]
2
2
3
- use crate :: packedseq :: { PackedSeqView , PackedToc } ;
3
+ use crate :: flatgfa ;
4
4
use crate :: pool:: { FixedStore , Pool , Span , Store } ;
5
- use crate :: { flatgfa, packedseq} ;
6
5
use std:: mem:: { size_of, size_of_val} ;
7
6
use tinyvec:: SliceVec ;
8
7
use zerocopy:: { AsBytes , FromBytes , FromZeroes } ;
@@ -19,7 +18,7 @@ pub struct Toc {
19
18
paths : Size ,
20
19
links : Size ,
21
20
steps : Size ,
22
- seq_data : usize ,
21
+ seq_data : Size ,
23
22
overlaps : Size ,
24
23
alignment : Size ,
25
24
name_data : Size ,
@@ -71,7 +70,7 @@ impl Toc {
71
70
+ self . paths . bytes :: < flatgfa:: Path > ( )
72
71
+ self . links . bytes :: < flatgfa:: Link > ( )
73
72
+ self . steps . bytes :: < flatgfa:: Handle > ( )
74
- + PackedToc :: size ( & self )
73
+ + self . seq_data . bytes :: < u8 > ( )
75
74
+ self . overlaps . bytes :: < Span < flatgfa:: AlignOp > > ( )
76
75
+ self . alignment . bytes :: < flatgfa:: AlignOp > ( )
77
76
+ self . name_data . bytes :: < u8 > ( )
@@ -123,7 +122,7 @@ impl Toc {
123
122
paths : Size :: empty ( factor) ,
124
123
links : Size :: empty ( 32 * factor * factor) ,
125
124
steps : Size :: empty ( 1024 * factor * factor) ,
126
- seq_data : 512 * factor * factor,
125
+ seq_data : Size :: empty ( 512 * factor * factor) ,
127
126
overlaps : Size :: empty ( 256 * factor) ,
128
127
alignment : Size :: empty ( 64 * factor * factor) ,
129
128
name_data : Size :: empty ( 64 * factor) ,
@@ -149,7 +148,7 @@ impl Toc {
149
148
paths : Size :: empty ( paths) ,
150
149
links : Size :: empty ( links) ,
151
150
steps : Size :: empty ( path_bytes / 3 ) ,
152
- seq_data : 0 ,
151
+ seq_data : Size :: empty ( seg_bytes ) ,
153
152
overlaps : Size :: empty ( ( links + paths) * 2 ) ,
154
153
alignment : Size :: empty ( links * 2 + paths * 4 ) ,
155
154
name_data : Size :: empty ( paths * 512 ) ,
@@ -193,9 +192,7 @@ pub fn view(data: &[u8]) -> flatgfa::FlatGFA {
193
192
let ( paths, rest) = slice_prefix ( rest, toc. paths ) ;
194
193
let ( links, rest) = slice_prefix ( rest, toc. links ) ;
195
194
let ( steps, rest) = slice_prefix ( rest, toc. steps ) ;
196
-
197
- let ( seq_data, rest) = PackedSeqView :: view_remaining ( rest) ;
198
-
195
+ let ( seq_data, rest) = slice_prefix ( rest, toc. seq_data ) ;
199
196
let ( overlaps, rest) = slice_prefix ( rest, toc. overlaps ) ;
200
197
let ( alignment, rest) = slice_prefix ( rest, toc. alignment ) ;
201
198
let ( name_data, rest) = slice_prefix ( rest, toc. name_data ) ;
@@ -300,7 +297,7 @@ pub fn dump(gfa: &flatgfa::FlatGFA, buf: &mut [u8]) {
300
297
let rest = write_bump ( rest, gfa. paths . all ( ) ) . unwrap ( ) ;
301
298
let rest = write_bump ( rest, gfa. links . all ( ) ) . unwrap ( ) ;
302
299
let rest = write_bump ( rest, gfa. steps . all ( ) ) . unwrap ( ) ;
303
- let rest = PackedSeqView :: dump_remaining ( & gfa. seq_data , rest ) ;
300
+ let rest = write_bytes ( rest , gfa. seq_data . all ( ) ) . unwrap ( ) ;
304
301
let rest = write_bump ( rest, gfa. overlaps . all ( ) ) . unwrap ( ) ;
305
302
let rest = write_bump ( rest, gfa. alignment . all ( ) ) . unwrap ( ) ;
306
303
let rest = write_bytes ( rest, gfa. name_data . all ( ) ) . unwrap ( ) ;
0 commit comments