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.

Reply via email to