On Sat, Jan 25, 2014 at 1:10 PM, Victor Stinner
<[email protected]> wrote:
> 2014-01-25 Guido van Rossum <[email protected]>:
>>> - BaseEventLoop, BaseProactorEventLoop, BaseSelectorEventLoop
>>
>> What is the purpose of exporting these? (I don't really mind, but I
>> don't want to encourage people from subclassing these.)
>
> Well, I don't know :-) Maybe if someone wants to implement its own
> event loop? But you don't want to encourage that, and it's still
> possible to import a submodule, so I remove these symbols from asyncio
> main module.

Glad to hear it.

>>> - all queues symbols: Queue, Queue sublasses, Empty, Full
>>
>> I think that Empty and Full are too generic as names. Maybe we should
>> rename them to QueueEmpty and QueueFull? It didn't bother me when you
>> had to explicitly import the queue submodule. But now they are
>> exported by the package, I worry that someone doing "from asyncio
>> import *" (like many of the examples do) will find these names a bit
>> mysterious.
>
> I don't like having to care that asyncio is splitted into submodule,
> so I don't want to write "from asyncio.queues import Full".
>
> I prefer to rename Empty to QueueEmpty, and Full to QueueFull.

Sounds good, do it. I think we should also sever the link with the
(thread-based) queue module -- I can't think of any code that would
actually benefit from asyncio.QueueEmpty being the same object as
queue.Empty. And now their names are different it would be even better
if the class name was actually QueueEmpty.

-- 
--Guido van Rossum (python.org/~guido)

Reply via email to