@@ -93,7 +93,7 @@ impl Directory {
93
93
Directory :: single ( "" . into ( ) , Entry :: Directory ( self ) )
94
94
}
95
95
96
- pub async fn encode_root ( self , code : & multihash:: Code ) -> Result < Block > {
96
+ pub async fn encode_root ( self , code : multihash:: Code ) -> Result < Block > {
97
97
let mut current = None ;
98
98
let parts = self . encode ( code) ;
99
99
tokio:: pin!( parts) ;
@@ -105,7 +105,7 @@ impl Directory {
105
105
current. expect ( "must not be empty" )
106
106
}
107
107
108
- pub fn encode < ' a > ( self , code : & multihash:: Code ) -> BoxStream < ' a , Result < Block > > {
108
+ pub fn encode < ' a > ( self , code : multihash:: Code ) -> BoxStream < ' a , Result < Block > > {
109
109
match self {
110
110
Directory :: Basic ( basic) => basic. encode ( code) ,
111
111
Directory :: Hamt ( hamt) => hamt. encode ( code) ,
@@ -114,13 +114,12 @@ impl Directory {
114
114
}
115
115
116
116
impl BasicDirectory {
117
- pub fn encode < ' a > ( self , code : & multihash:: Code ) -> BoxStream < ' a , Result < Block > > {
118
- let code = code. clone ( ) ;
117
+ pub fn encode < ' a > ( self , code : multihash:: Code ) -> BoxStream < ' a , Result < Block > > {
119
118
async_stream:: try_stream! {
120
119
let mut links = Vec :: new( ) ;
121
120
for entry in self . entries {
122
121
let name = entry. name( ) . to_string( ) ;
123
- let parts = entry. encode( & code) . await ?;
122
+ let parts = entry. encode( code) . await ?;
124
123
tokio:: pin!( parts) ;
125
124
let mut root = None ;
126
125
let mut size = 0u64 ;
@@ -145,14 +144,14 @@ impl BasicDirectory {
145
144
} ;
146
145
let outer = encode_unixfs_pb( & inner, links) ?;
147
146
let node = UnixfsNode :: Directory ( Node { outer, inner } ) ;
148
- yield node. encode( & code) ?;
147
+ yield node. encode( code) ?;
149
148
}
150
149
. boxed ( )
151
150
}
152
151
}
153
152
154
153
impl HamtDirectory {
155
- pub fn encode < ' a > ( self , code : & multihash:: Code ) -> BoxStream < ' a , Result < Block > > {
154
+ pub fn encode < ' a > ( self , code : multihash:: Code ) -> BoxStream < ' a , Result < Block > > {
156
155
self . hamt . encode ( code)
157
156
}
158
157
}
@@ -264,7 +263,7 @@ impl Symlink {
264
263
& self . name
265
264
}
266
265
267
- pub fn encode ( self , code : & multihash:: Code ) -> Result < Block > {
266
+ pub fn encode ( self , code : multihash:: Code ) -> Result < Block > {
268
267
let target = self
269
268
. target
270
269
. to_str ( )
@@ -463,7 +462,7 @@ impl Entry {
463
462
}
464
463
}
465
464
466
- pub async fn encode ( self , code : & multihash:: Code ) -> Result < BoxStream < ' static , Result < Block > > > {
465
+ pub async fn encode ( self , code : multihash:: Code ) -> Result < BoxStream < ' static , Result < Block > > > {
467
466
Ok ( match self {
468
467
Entry :: File ( f) => f. encode ( ) . await ?. boxed ( ) ,
469
468
Entry :: Directory ( d) => d. encode ( code) ,
@@ -595,7 +594,7 @@ impl DirectoryBuilder {
595
594
596
595
pub async fn add_path ( self , path : impl Into < PathBuf > ) -> Result < Self > {
597
596
let chunker = self . chunker . clone ( ) ;
598
- let degree = self . degree . clone ( ) ;
597
+ let degree = self . degree ;
599
598
Ok ( self . add_entries (
600
599
make_entries_from_path ( path, chunker, degree)
601
600
. await ?
@@ -680,8 +679,7 @@ impl HamtNode {
680
679
}
681
680
}
682
681
683
- pub fn encode < ' a > ( self , code : & multihash:: Code ) -> BoxStream < ' a , Result < Block > > {
684
- let code = code. clone ( ) ;
682
+ pub fn encode < ' a > ( self , code : multihash:: Code ) -> BoxStream < ' a , Result < Block > > {
685
683
match self {
686
684
Self :: Branch ( tree) => {
687
685
async_stream:: try_stream! {
@@ -690,7 +688,7 @@ impl HamtNode {
690
688
for ( prefix, node) in tree {
691
689
let name = format!( "{:02X}{}" , prefix, node. name( ) ) ;
692
690
bitfield. set_bit( prefix) ;
693
- let blocks = node. encode( & code) ;
691
+ let blocks = node. encode( code) ;
694
692
let mut root = None ;
695
693
tokio:: pin!( blocks) ;
696
694
while let Some ( block) = blocks. next( ) . await {
@@ -715,11 +713,11 @@ impl HamtNode {
715
713
// it does not really matter what enum variant we choose here as long as
716
714
// it is not raw. The type of the node will be HamtShard from above.
717
715
let node = UnixfsNode :: Directory ( crate :: unixfs:: Node { outer, inner } ) ;
718
- yield node. encode( & code) ?;
716
+ yield node. encode( code) ?;
719
717
}
720
718
. boxed ( )
721
719
}
722
- Self :: Leaf ( HamtLeaf ( _hash, entry) ) => async move { entry. encode ( & code) . await }
720
+ Self :: Leaf ( HamtLeaf ( _hash, entry) ) => async move { entry. encode ( code) . await }
723
721
. try_flatten_stream ( )
724
722
. boxed ( ) ,
725
723
}
@@ -862,12 +860,12 @@ mod tests {
862
860
let mut baz = SymlinkBuilder :: new ( "baz.txt" ) ;
863
861
baz. target ( "bat.txt" ) ;
864
862
let baz = baz. build ( ) . await ?;
865
- baz. encode ( & multihash:: Code :: Sha2_256 ) ?
863
+ baz. encode ( multihash:: Code :: Sha2_256 ) ?
866
864
} ;
867
865
868
866
let dir = dir. add_file ( bar) . add_symlink ( baz) . build ( ) ?;
869
867
870
- let dir_block = dir. encode_root ( & multihash:: Code :: Sha2_256 ) . await ?;
868
+ let dir_block = dir. encode_root ( multihash:: Code :: Sha2_256 ) . await ?;
871
869
let decoded_dir = UnixfsNode :: decode ( dir_block. cid ( ) , dir_block. data ( ) . clone ( ) ) ?;
872
870
873
871
let links = decoded_dir. links ( ) . collect :: < Result < Vec < _ > > > ( ) . unwrap ( ) ;
@@ -919,12 +917,12 @@ mod tests {
919
917
let mut baz = SymlinkBuilder :: new ( "baz.txt" ) ;
920
918
baz. target ( "bat.txt" ) ;
921
919
let baz = baz. build ( ) . await ?;
922
- baz. encode ( & multihash:: Code :: Sha2_256 ) ?
920
+ baz. encode ( multihash:: Code :: Sha2_256 ) ?
923
921
} ;
924
922
925
923
let dir = dir. add_file ( bar) . add_symlink ( baz) . build ( ) ?;
926
924
927
- let dir_block = dir. encode_root ( & multihash:: Code :: Sha2_256 ) . await ?;
925
+ let dir_block = dir. encode_root ( multihash:: Code :: Sha2_256 ) . await ?;
928
926
let decoded_dir = UnixfsNode :: decode ( dir_block. cid ( ) , dir_block. data ( ) . clone ( ) ) ?;
929
927
930
928
let links = decoded_dir. links ( ) . collect :: < Result < Vec < _ > > > ( ) . unwrap ( ) ;
@@ -997,7 +995,7 @@ mod tests {
997
995
998
996
let dir = dir. add_file ( bar) . add_file ( baz) . build ( ) ?;
999
997
1000
- let dir_block = dir. encode_root ( & multihash:: Code :: Sha2_256 ) . await ?;
998
+ let dir_block = dir. encode_root ( multihash:: Code :: Sha2_256 ) . await ?;
1001
999
let decoded_dir = UnixfsNode :: decode ( dir_block. cid ( ) , dir_block. data ( ) . clone ( ) ) ?;
1002
1000
1003
1001
let links = decoded_dir. links ( ) . collect :: < Result < Vec < _ > > > ( ) . unwrap ( ) ;
0 commit comments