[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2018-06-07 Thread pfreixes
Change by pfreixes : -- keywords: +patch pull_requests: +7095 stage: -> patch review ___ Python tracker <https://bugs.python.org/issue30861> ___ ___ Python-

[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2017-12-30 Thread pfreixes
pfreixes <pfrei...@gmail.com> added the comment: Yeps, any update on this bug and the fix proposed? -- ___ Python tracker <rep...@bugs.python.org> <https://bugs.python

[issue30457] Allow retrieve the number of waiters pending for most of the asyncio lock primitives

2017-10-11 Thread pfreixes
pfreixes <pfrei...@gmail.com> added the comment: You are right, having the `pop` after the `set` it would remove the key from the events. Despite the workaround that you proposes is quite clean, it is kinda implicit. The nature of the `pending` method is to give to the developer

[issue30457] Allow retrieve the number of waiters pending for most of the asyncio lock primitives

2017-10-11 Thread pfreixes
pfreixes <pfrei...@gmail.com> added the comment: Not really, your code never removes the key from the events. If the cache is cleaned all further executions will keep forever in the `wait` statement. It is needed to create the Event again to perform at least one query to retrieve the

[issue30490] Allow pass an exception to the Event.set method

2017-07-19 Thread pfreixes
pfreixes added the comment: More info about why here https://github.com/python/cpython/pull/1824#issuecomment-315903808 -- resolution: -> rejected stage: -> resolved status: open -> closed ___ Python tracker <rep...@bugs.pytho

[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2017-07-18 Thread pfreixes
pfreixes added the comment: The Java client https://gist.github.com/pfreixes/13fedf2a589c260e6c7c64ae73653bb1 Works as is expected the buffer can be read till it gets empty, no matter when the RST was sent. -- ___ Python tracker <

[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2017-07-17 Thread pfreixes
pfreixes added the comment: The following links point to three different implementations of the same scenario using a Twisted, Node and Python blocking clients that try to reproduce the same scenario. - Twisted https://gist.github.com/pfreixes/0d8b24b98567e557d6059b3308aa07ca - Node https

[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2017-07-07 Thread pfreixes
pfreixes added the comment: fair enough. I'm out with few chances to grab a computer. I'll be back in a week with more information. El 07/07/2017 20:14, "Yury Selivanov" <rep...@bugs.python.org> escribió: > > Yury Selivanov added the comment: > > I looked

[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2017-07-07 Thread pfreixes
pfreixes added the comment: I would like to focus the issue as was initially described, Im still convinced that this is a buggy behaviour. As has been seen other systems such as python sync or nodejs behaves as is expected. This last one is IMHO something that can be skipped. Im wondering how

[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2017-07-07 Thread pfreixes
pfreixes added the comment: I think that we are not in the same page, the following snippet is a nodejs client that emulates the same: var net = require('net'); var sleep = require('sleep'); var client = new net.Socket(); client.connect(6379, '127.0.0.1', function() { console.log

[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2017-07-06 Thread pfreixes
pfreixes added the comment: As was said, the assumption here is the data that came to the buffer must be available. For example, the next snippet shows a Redis client that expects the data message plus the RST packet, where the redis-server was configured to accept max N connections

[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2017-07-05 Thread pfreixes
pfreixes added the comment: One of the disadvantages with the Exception is that you are relying on how the events are being succeeded, and this is something that you can't predict. With just a different delay between the data and the RST packet and you might get the data in two different ways

[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2017-07-05 Thread pfreixes
pfreixes added the comment: Yeps, I have an example related to Redis [1], the server warns that the connection will be closed because you reached out the maximum number of connections. But IMHO the example it's just that an example, if the connection at some point was not broken/closed

[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2017-07-05 Thread pfreixes
Changes by pfreixes <pfrei...@gmail.com>: -- pull_requests: +2664 ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue30861> ___ __

[issue30861] StreamReader does not return reamaing and ready data buffer before raise the Exeption

2017-07-05 Thread pfreixes
New submission from pfreixes: Current implementation of StreamReader does not take care of the status of the buffer, once an exception has been set via `set_exception` any call to the read methods won't be able to get the missing data still pending to be processed. >From the point of v

[issue30490] Allow pass an exception to the Event.set method

2017-05-26 Thread pfreixes
Changes by pfreixes <pfrei...@gmail.com>: -- pull_requests: +1911 ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue30490> ___ __

[issue30490] Allow pass an exception to the Event.set method

2017-05-26 Thread pfreixes
New submission from pfreixes: Having the Event as the way to synchronize 1:N coroutines, the none happy path should be able to be expressed making possible call the `set_exception` for each future related to each waiter. As an example the following code trying to implement a way to avoid

[issue30457] Allow retrieve the number of waiters pending for most of the asyncio lock primitives

2017-05-24 Thread pfreixes
Changes by pfreixes <pfrei...@gmail.com>: -- pull_requests: +1868 ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue30457> ___ __

[issue30457] Allow retrieve the number of waiters pending for most of the asyncio lock primitives

2017-05-24 Thread pfreixes
New submission from pfreixes: Currently, there is no way to access to the number of waiters pending to be woken up. This information can be useful for those environments which create and delete asyncio primitives instances depending if there are waiters still to be processed. The following