File tree Expand file tree Collapse file tree 3 files changed +5
-22
lines changed Expand file tree Collapse file tree 3 files changed +5
-22
lines changed Original file line number Diff line number Diff line change @@ -38,5 +38,5 @@ ignore = [
38
38
39
39
[sources ]
40
40
allow-git = [
41
- # "https://github.com/n0-computer/iroh.git",
41
+ " https://github.com/n0-computer/iroh.git" ,
42
42
]
Original file line number Diff line number Diff line change @@ -144,7 +144,8 @@ impl ProtocolHandler for BlobSearch {
144
144
///
145
145
/// The returned future runs on a newly spawned tokio task, so it can run as long as
146
146
/// the connection lasts.
147
- fn accept ( self : Arc < Self > , connecting : Connecting ) -> BoxedFuture < Result < ( ) > > {
147
+ fn accept ( & self , connecting : Connecting ) -> BoxedFuture < Result < ( ) > > {
148
+ let this = self . clone ( ) ;
148
149
// We have to return a boxed future from the handler.
149
150
Box :: pin ( async move {
150
151
// Wait for the connection to be fully established.
@@ -162,7 +163,7 @@ impl ProtocolHandler for BlobSearch {
162
163
163
164
// Now, we can perform the actual query on our local database.
164
165
let query = String :: from_utf8 ( query_bytes) ?;
165
- let hashes = self . query_local ( & query) ;
166
+ let hashes = this . query_local ( & query) ;
166
167
167
168
// We want to return a list of hashes. We do the simplest thing possible, and just send
168
169
// one hash after the other. Because the hashes have a fixed size of 32 bytes, this is
Original file line number Diff line number Diff line change 2
2
3
3
use std:: {
4
4
io,
5
- ops:: Deref ,
6
5
sync:: { Arc , Mutex } ,
7
6
} ;
8
7
@@ -82,29 +81,12 @@ impl<D: crate::store::Store> Blobs<D> {
82
81
C : ChannelTypes < RpcService > ,
83
82
{
84
83
use Request :: * ;
85
- let handler = Handler ( self ) ;
84
+ let handler = self ;
86
85
match msg {
87
86
Blobs ( msg) => handler. handle_blobs_request ( msg, chan) . await ,
88
87
Tags ( msg) => handler. handle_tags_request ( msg, chan) . await ,
89
88
}
90
89
}
91
- }
92
-
93
- #[ derive( Clone ) ]
94
- struct Handler < S > ( Blobs < S > ) ;
95
-
96
- impl < S > Deref for Handler < S > {
97
- type Target = Blobs < S > ;
98
-
99
- fn deref ( & self ) -> & Self :: Target {
100
- & self . 0
101
- }
102
- }
103
-
104
- impl < D : crate :: store:: Store > Handler < D > {
105
- fn store ( & self ) -> & D {
106
- & self . 0 . store
107
- }
108
90
109
91
/// Handle a tags request
110
92
pub async fn handle_tags_request < C > (
You can’t perform that action at this time.
0 commit comments