|
2410 | 2410 | .get_or_create(|| <span class="kw">async </span>{ |
2411 | 2411 | <span class="kw">let </span>res = <span class="self">self</span>.db().get(hash).<span class="kw">await</span>.map_err(io::Error::other)<span class="question-mark">?</span>; |
2412 | 2412 | <span class="kw">let </span>res = <span class="kw">match </span>res { |
2413 | | - <span class="prelude-val">Some</span>(state) => open_bao_file(<span class="kw-2">&</span>hash, state, <span class="kw-2">&</span><span class="self">self</span>.global).<span class="kw">await</span>, |
| 2413 | + <span class="prelude-val">Some</span>(state) => open_bao_file(state, <span class="kw-2">&</span><span class="self">self</span>).<span class="kw">await</span>, |
2414 | 2414 | <span class="prelude-val">None </span>=> <span class="prelude-val">Err</span>(io::Error::new(io::ErrorKind::NotFound, <span class="string">"hash not found"</span>)), |
2415 | 2415 | }; |
2416 | 2416 | <span class="prelude-val">Ok</span>((res<span class="question-mark">?</span>, ())) |
|
2430 | 2430 | .get_or_create(|| <span class="kw">async </span>{ |
2431 | 2431 | <span class="kw">let </span>res = <span class="self">self</span>.db().get(hash).<span class="kw">await</span>.map_err(io::Error::other)<span class="question-mark">?</span>; |
2432 | 2432 | <span class="kw">let </span>res = <span class="kw">match </span>res { |
2433 | | - <span class="prelude-val">Some</span>(state) => open_bao_file(<span class="kw-2">&</span>hash, state, <span class="kw-2">&</span><span class="self">self</span>.global).<span class="kw">await</span>, |
| 2433 | + <span class="prelude-val">Some</span>(state) => open_bao_file(state, <span class="kw-2">&</span><span class="self">self</span>).<span class="kw">await</span>, |
2434 | 2434 | <span class="prelude-val">None </span>=> <span class="prelude-val">Ok</span>(BaoFileHandle::new_partial_mem()), |
2435 | 2435 | }; |
2436 | 2436 | <span class="prelude-val">Ok</span>((res<span class="question-mark">?</span>, ())) |
|
2444 | 2444 | } |
2445 | 2445 |
|
2446 | 2446 | <span class="kw">async fn </span>open_bao_file( |
2447 | | - hash: <span class="kw-2">&</span>Hash, |
2448 | 2447 | state: EntryState<Bytes>, |
2449 | | - ctx: <span class="kw-2">&</span>TaskContext, |
| 2448 | + ctx: <span class="kw-2">&</span>HashContext, |
2450 | 2449 | ) -> io::Result<BaoFileHandle> { |
2451 | | - <span class="kw">let </span>options = <span class="kw-2">&</span>ctx.options; |
| 2450 | + <span class="kw">let </span>hash = <span class="kw-2">&</span>ctx.id; |
| 2451 | + <span class="kw">let </span>options = <span class="kw-2">&</span>ctx.global.options; |
2452 | 2452 | <span class="prelude-val">Ok</span>(<span class="kw">match </span>state { |
2453 | 2453 | EntryState::Complete { |
2454 | 2454 | data_location, |
|
2480 | 2480 | }; |
2481 | 2481 | BaoFileHandle::new_complete(data, outboard) |
2482 | 2482 | } |
2483 | | - EntryState::Partial { .. } => BaoFileHandle::new_partial_file(<span class="kw-2">*</span>hash, ctx).<span class="kw">await</span><span class="question-mark">?</span>, |
| 2483 | + EntryState::Partial { .. } => BaoFileHandle::new_partial_file(ctx).<span class="kw">await</span><span class="question-mark">?</span>, |
2484 | 2484 | }) |
2485 | 2485 | } |
2486 | 2486 |
|
|
0 commit comments