1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-08 05:57:03 +09:00

quic.ListenAddrs returns addrs

This commit is contained in:
Sergey Cherepanov 2023-08-23 16:38:46 +02:00
parent eeea38bf2a
commit 5f2f7daa35
No known key found for this signature in database
GPG key ID: 87F8EDE8FBDF637C

View file

@ -27,7 +27,7 @@ func New() Quic {
}
type Quic interface {
ListenAddrs(ctx context.Context, addrs ...string) (err error)
ListenAddrs(ctx context.Context, addrs ...string) (listenAddrs []net.Addr, err error)
transport.Transport
app.ComponentRunnable
}
@ -74,10 +74,11 @@ func (q *quicTransport) Run(ctx context.Context) (err error) {
}
q.listCtx, q.listCtxCancel = context.WithCancel(context.Background())
return q.ListenAddrs(ctx, q.conf.ListenAddrs...)
_, err = q.ListenAddrs(ctx, q.conf.ListenAddrs...)
return
}
func (q *quicTransport) ListenAddrs(ctx context.Context, addrs ...string) (err error) {
func (q *quicTransport) ListenAddrs(ctx context.Context, addrs ...string) (listenAddrs []net.Addr, err error) {
q.mu.Lock()
defer q.mu.Unlock()
var tlsConf tls.Config
@ -93,8 +94,9 @@ func (q *quicTransport) ListenAddrs(ctx context.Context, addrs ...string) (err e
for _, listAddr := range addrs {
list, err := quic.ListenAddr(listAddr, &tlsConf, q.quicConf)
if err != nil {
return err
return nil, err
}
listenAddrs = append(listenAddrs, list.Addr())
q.listeners = append(q.listeners, list)
go q.acceptLoop(q.listCtx, list)
}