Conversation
emilk
left a comment
There was a problem hiding this comment.
Looks great! I assume you have tested it both locally and on web.
It would be really nice with an usage example in example_eframe, but it can be added in a separate PR.
|
|
||
| let mut reader = resp.into_reader(); | ||
| loop { | ||
| let mut buf = vec![0; 2048]; |
There was a problem hiding this comment.
Is there a rational for the 2048 size?
MTU is usually around 1500 bytes, but I'm not sure that really matters here.
There was a problem hiding this comment.
I just rounded up common path MTU to something that seemed reasonable.
| std::thread::Builder::new() | ||
| .name("ehttp".to_owned()) | ||
| .spawn(move || fetch_streaming_blocking(request, on_data)) | ||
| .expect("Failed to spawn ehttp thread"); |
There was a problem hiding this comment.
This expect could be replaced with calling on_data(Err(…))
There was a problem hiding this comment.
That would require putting the callback in an Rc, but I guess that's fine. Should I make the same change in the non-streaming native fetch?
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
|
You have a failure in |
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
|
Not sure what to do about the |
|
The |
Add
ehttp::streamingwhen thestreamingfeature is enabled.On the web,
ehttp::streaming::fetchuses wasm-streams to handle the conversion of a Response body to a Rust asyncStream.On native,
ehttp::streaming::fetchusesureqthe same way as blocking fetch, but usinginto_readeron the body instead ofread_to_end.