chatmail / chatmail/async-smtp

async-std `TcpStream` impls `BufRead` w/ `AsyncWrite`

Open
#63 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
74
Forks
16
PR merge metrics
No merged PRs in 30d

Description

https://github.com/async-email/async-smtp/commit/eed4f0bfcc12e5cb5672073fbd83d56f3b81eec5

So wrapping TcpStream with BufReader should work ?

Even if I wrap it to BufReader then it wants AsyncWrite too complicating setting stuff like async-native-tls up ?

I could implement my own type with those implemented but probably doc neeeds to be adjusted - it's not as straightforward now in combination with the types it's usually used as the doc points to direct use with TcpStream.

```
45 | let mut transport = SmtpTransport::new(client, reader).await?;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `AsyncWrite` is not implemented for `std::io::BufReader>`
```

Repro: https://github.com/pinkforest/repro-async-std-async-smtp

For now I'm just using 0.8 as but got to refactor and port this stuff over off async-std probably

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the documentation or examples referenced by the direct TcpStream usage, then compare that guidance with the linked repro and the SmtpTransport::new trait error. Done means the documentation accurately explains the required AsyncWrite behavior when wrapping TcpStream or using TLS.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.