On Thu, Dec 21, 2023 at 1:11 AM Michał Matczuk <mmatc...@gmail.com> wrote: > > net.ListenConfig does not document the context usage. The docs just point to > Listen. I'd expect that cancelling the context would stop the listener but > it's not the case. > > The questions are: > > * Should Listener created with net.ListenConfig.Listen be closed - is that a > bug, if not why?
This is not a bug. While there are exceptions in special cases, in general a Context is specific to a particular operation, in this case opening the listening socket. It's not in general applicable to all listening on a socket. (It's perhaps worth noting that if ListenConfig had ControlContext as Dialer does, then the Context would be passed to ListenerConfig.ControlContext.) > * Is the above document anywhere? I sent https://go.dev/cl/620777 to document it. Thanks for bringing it up. Sorry for the very slow response. Ian > wtorek, 19 grudnia 2023 o 22:21:27 UTC+1 Axel Wagner napisał(a): >> >> Hm, reading again, I don't think I actually understand your question. You >> clearly are ListenConfig aware. >> But what do you mean with "the same way we have Dial and DialContext"? These >> are methods on Dialer, so ISTM that there is indeed a pretty clear >> correspondence. Except that Dialer.Dial has been introduced in Go 1.1, >> before we had context.Context, so we needed a new name for the context-aware >> API. >> So I'm not sure what exactly you are asking. ISTM you are not missing a >> context-aware version of Listen, so what is it you are asking for? >> >> On Tue, Dec 19, 2023 at 10:14 PM Axel Wagner <axel.wa...@googlemail.com> >> wrote: >>> >>> You can use `ListenConfig.Listen` to do this: >>> https://pkg.go.dev/net#ListenConfig.Listen >>> I believe the reason to do it this way was the realization that there will >>> probably be more ways to set up listening in the future and having lots of >>> different ListenFoo functions in the package would overload the namespace >>> too much. >>> >>> On Tue, Dec 19, 2023 at 9:28 PM Michał Matczuk <mmat...@gmail.com> wrote: >>>> >>>> The context is passed downstream but cancelling it seems to have no effect. >>>> I guess that the reason why it's not exported. >>>> Can anyone shed more light on it? >>>> >>>> wtorek, 19 grudnia 2023 o 11:59:49 UTC+1 Michał Matczuk napisał(a): >>>>> >>>>> If you take a look at net.Listen implementation >>>>> >>>>> func Listen(network, address string) (Listener, error) { >>>>> var lc ListenConfig >>>>> return lc.Listen(context.Background(), network, address) >>>>> } >>>>> >>>>> you will notice the new listen API net.ListenConfig. >>>>> >>>>> This API is context aware, I think it would be handy if we had >>>>> net.ListenContext the same way we have Dial and DialContext. >>>>> >>>>> Any thoughts on that? >>>> >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "golang-nuts" group. >>>> To unsubscribe from this group and stop receiving emails from it, send an >>>> email to golang-nuts...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/golang-nuts/8abe1abb-eb3b-4632-b3c0-e430f2f42270n%40googlegroups.com. > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/48237db5-fe65-4dad-8035-b8c32643219an%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAOyqgcW7zJaxQ9Ko8%3DLXs43qtqLnRw4SDW8MGSZjugcrQ91rLg%40mail.gmail.com.