On Mon, Apr 20, 2020 at 4:19 PM Greg Ewing <greg.ew...@canterbury.ac.nz> wrote:
>
> On 21/04/20 8:29 am, Eric Snow wrote:
> > * Would a low-level channel implementation based on callbacks or locks
> > be better (simpler, faster, etc.) than one based on buffering?
>
> Depends on what you mean by "better". Callbacks are more
> versatile; a buffered channel just does buffering, but
> with callbacks you can do other things, e.g. hooking
> into an event loop.

Thanks for clarifying.  For the event loop case, what is the downside
to adapting to the API in the existing proposal?

> > * Would readiness callbacks in the high-level API be more or less
> > user-friendly than alternatives: optional blocking, a lock, etc.?
>
> I would consider callbacks to be part of a low-level
> layer that you wouldn't use directly most of the time.
> Some user-friendly high-level things such as buffered
> channels would be provided.

Ah, PEP 554 is just about the high-level API.  Currently in the
low-level API recv() doesn't ever block (instead raising
ChannelEmptyError if empty) and channel_send() returns a pre-acquired
lock that releases once the object is received.

I'm not opposed to a different low-level API, but keep in mind that
we're short on time.

> Efficiency is a secondary consideration. If it turns
> out to be a problem, that can be addressed later.

+1

-eric
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/FK4GTBHQARS7GOLGB6VOUDRM4LOLP366/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to