Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dlts server Listener.Accept may block due to individual connection timeouts. #618

Closed
kitestar opened this issue Mar 28, 2024 · 1 comment

Comments

@kitestar
Copy link

kitestar commented Mar 28, 2024

func (l *listener) Accept() (net.Conn, error) {
	c, raddr, err := l.parent.Accept()
	if err != nil {
		return nil, err
	}
	return Server(c, raddr, l.config)
}

Server() ---> createConn ---> handshake use synchronous handshaking

If one connection's handshake times out, it directly affects the next connection's accept.

Why not use an asynchronous handshake when accepting a connection?

@daenney
Copy link
Member

daenney commented Mar 28, 2024

This is a duplicate of #279. It's mostly just an oversight when the API was created, and something we'll resolve eventually.

@daenney daenney closed this as not planned Won't fix, can't repro, duplicate, stale Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants