Ryan Summers

Results 185 comments of Ryan Summers

> The top-level application changes look more frightening, but that's primarily because what would be the executor is rolled into there. This is my original concern - if we convert...

It seems to me that the approach of implementing a "dummy" executor has the trade-off of forcing overhead boilerplate onto non-async applications, but gives them the ability to use `async`...

> > non-async applications > > Are they even a thing any more with embedded-nal, now that the blocking modes have been removed in 0.2? Non-async embedded applications make up...

> From how I understand the available example, users already use a dummy executor, they just always roll own (here in the form of sleeping-for-some-milliseconds, and I'm not convinced that...

I worry that any attempt at forcing buffering in the `embedded-nal` layer would preclude zero-copy implementations mentioned in https://github.com/rust-embedded-community/embedded-nal/issues/12, which I believe would be quite useful. If we could make...

I believe this is primarily stuck because async cannot be done on stable `no-std` Rust currently - I believe GATs are currently blocking most implementations. See https://github.com/rust-embedded/embedded-hal/pull/285 After talking with...

It would also be desirable to have a `write` equivalent of this. These types of functions allow us to create zero-copy abstractions for higher level protocols, such that we can...

The main complication I see is that not all network stacks will support zero-copy abstractions. Take for example a TCP stack using the W5500 ("hardware" network stack that communicates with...

> I don't necessarily think we need to force anyone to implement it. I think if we propose it into the trait, that's essentailly what we have to do. >...

I've added a sample for a TCP stack in https://github.com/ryan-summers/embedded-nal/blob/feature/closure-read-writes/src/lib.rs#L29-L106 The main downside of a default implementation is that we need to break a `read()` into distinct actions: 1. Acquire...