[issue19842] selectors: refactor BaseSelector implementation

2013-12-06 Thread Guido van Rossum
Guido van Rossum added the comment: This is done AFAICT. -- resolution: -> fixed stage: patch review -> committed/rejected status: open -> closed ___ Python tracker ___

[issue19842] selectors: refactor BaseSelector implementation

2013-12-06 Thread Martin Panter
Changes by Martin Panter : -- nosy: +vadmium ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.pytho

[issue19842] selectors: refactor BaseSelector implementation

2013-12-05 Thread Guido van Rossum
Guido van Rossum added the comment: Well, registration is a very common pattern and you can't really require everyone to use an inferior word just because ABCMeta uses it. There's a simple work-around: abc.ABCMeta.register(selectors.BaseSelector, C) -- ___

[issue19842] selectors: refactor BaseSelector implementation

2013-12-05 Thread Éric Araujo
Éric Araujo added the comment: Do I understand right that BaseSelector.register means something else entirely than ABC.register? Is it a concern? -- nosy: +eric.araujo ___ Python tracker _

[issue19842] selectors: refactor BaseSelector implementation

2013-12-01 Thread Charles-François Natali
Charles-François Natali added the comment: > STINNER Victor added the comment: > >> I think that's a cleaner design. > > For common containers like Sequence or Mapping, ABC are useful. But I don't > expect new implementations of BaseSelector. Is it just for purity? :-p There are already impleme

[issue19842] selectors: refactor BaseSelector implementation

2013-12-01 Thread Roundup Robot
Roundup Robot added the comment: New changeset f48f302f54aa by Charles-François Natali in branch 'default': Issue #19842: Refactor BaseSelector to make it an actual usable ABC. http://hg.python.org/cpython/rev/f48f302f54aa -- nosy: +python-dev ___ Pyt

[issue19842] selectors: refactor BaseSelector implementation

2013-12-01 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: In those protocols where client and server exchange a lot of commands and responses in a single session, such as FTP, modify() is going to be called many times. I don't have actual numbers but I remember that using epoll.modify() was one of those relatively

[issue19842] selectors: refactor BaseSelector implementation

2013-12-01 Thread STINNER Victor
STINNER Victor added the comment: (I'm not opposed to the change, I'm just asking.) -- ___ Python tracker ___ ___ Python-bugs-list mai

[issue19842] selectors: refactor BaseSelector implementation

2013-12-01 Thread STINNER Victor
STINNER Victor added the comment: > I think that's a cleaner design. For common containers like Sequence or Mapping, ABC are useful. But I don't expect new implementations of BaseSelector. Is it just for purity? :-p -- nosy: +haypo ___ Python tracke

[issue19842] selectors: refactor BaseSelector implementation

2013-12-01 Thread Charles-François Natali
Charles-François Natali added the comment: > Guido van Rossum added the comment: > > LGTM, although I wish that you had time to implement the comment "TODO: > Subclasses can probably optimize this even further" rather than just > shuffling the existing code around. :-) I will look a this, but

[issue19842] selectors: refactor BaseSelector implementation

2013-11-30 Thread Guido van Rossum
Guido van Rossum added the comment: LGTM, although I wish that you had time to implement the comment "TODO: Subclasses can probably optimize this even further" rather than just shuffling the existing code around. :-) -- ___ Python tracker

[issue19842] selectors: refactor BaseSelector implementation

2013-11-30 Thread Giampaolo Rodola'
Changes by Giampaolo Rodola' : -- nosy: +giampaolo.rodola ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https

[issue19842] selectors: refactor BaseSelector implementation

2013-11-30 Thread Antoine Pitrou
Antoine Pitrou added the comment: > > The problem for documentation use is that we're christening it as an > > official API, and thus it becomes more difficult to refactor the > > inheritance hierarchy. > > So what would you suggest? Hmmm... Well I guess your proposal makes sense :-) Aka. havin

[issue19842] selectors: refactor BaseSelector implementation

2013-11-30 Thread Charles-François Natali
Charles-François Natali added the comment: > The problem for documentation use is that we're christening it as an > official API, and thus it becomes more difficult to refactor the > inheritance hierarchy. So what would you suggest? -- ___ Python tra

[issue19842] selectors: refactor BaseSelector implementation

2013-11-30 Thread Antoine Pitrou
Antoine Pitrou added the comment: > The idead was to have an ABC so that users can implement their own > selector, and pass it to e.g. asyncio or anything alse expecting a > selector. > Other than that, the only use is as a documentation (i.e. to show > which methods are supported by all selector

[issue19842] selectors: refactor BaseSelector implementation

2013-11-30 Thread Charles-François Natali
Charles-François Natali added the comment: > I'm wondering, is there a reason we made BaseSelector a public API? The idead was to have an ABC so that users can implement their own selector, and pass it to e.g. asyncio or anything alse expecting a selector. Other than that, the only use is as a d

[issue19842] selectors: refactor BaseSelector implementation

2013-11-30 Thread Antoine Pitrou
Antoine Pitrou added the comment: I'm wondering, is there a reason we made BaseSelector a public API? -- ___ Python tracker ___ ___ Py

[issue19842] selectors: refactor BaseSelector implementation

2013-11-30 Thread Charles-François Natali
New submission from Charles-François Natali: Initially, BaseSelector was simply designed as the base implementation used by concrete ones like SelectSelector & Co. Then BaseSelector evolved to be an ABC, but the problem is that it's really not usable as such: the register() and unregister() me