trillium-rs / trillium

Trillium is a composable toolkit for building internet applications with async rust
https://trillium.rs
Apache License 2.0
341 stars 18 forks source link

Bug report for trillium client #643

Closed jbr closed 5 months ago

jbr commented 5 months ago

Using the client example here: https://github.com/trillium-rs/trillium/blob/main/client/examples/client.rs#L8

If i call client.get() a second time then the

Io(
    Custom {
        kind: AlreadyExists,
        error: "conn already connected",
    },
)

this logs looks weird to me, it opens a connection, then say it already exists?

[2024-04-23T17:33:41Z DEBUG] No cached session for DnsName("test.com")
[2024-04-23T17:33:41Z DEBUG] Not resuming any session
[2024-04-23T17:33:41Z DEBUG] add_parsable_certificates processed 137 valid and 0 invalid certs
[2024-04-23T17:33:41Z DEBUG] Loaded 137 CA certificates from the system
[2024-04-23T17:33:41Z DEBUG] Using ciphersuite TLS13_AES_256_GCM_SHA384
[2024-04-23T17:33:41Z DEBUG] Not resuming
[2024-04-23T17:33:41Z DEBUG] TLS1.3 encrypted extensions: [ServerNameAck]
[2024-04-23T17:33:41Z DEBUG] ALPN protocol is None
[2024-04-23T17:33:41Z DEBUG] opened new connection to Some(x.x.x.x:443)
[2024-04-23T17:33:41Z ERROR] [LIVE] Error: Io(
        Custom {
            kind: AlreadyExists,
            error: "conn already connected",
        },
    )
[2024-04-23T17:33:41Z DEBUG] saving connection to Tuple("https", Domain("test.com"), 443)
[2024-04-23T17:33:41Z DEBUG] reusing connection to Some(x.x.x.x:443)
[2024-04-23T17:33:41Z DEBUG] saving connection to Tuple("https", Domain("test.com"), 443)
[2024-04-23T17:33:41Z ERROR] [LIVE] Error: Io(
        Custom {
            kind: AlreadyExists,
            error: "conn already connected",
        },
    )

Why is this failing, isn't the last request supposed to return the connection to the pool?

Originally posted by @halvors in https://github.com/trillium-rs/trillium/discussions/642