Commits

Show all
Author Commit Message Labels Comments Date
which.linden
[svn r142] Fix for EVT-4: eventlet's https client is unable to communicate with it's https server. This turned out to be a combination of two factors: 1) the ssl server wasn't properly shutting down its socket before closing it, and 2) the client wasn't properly ignoring the error that this condition generates.
Branches
trunk
which.linden
[svn r141] Added broken test case for SSL sockets, with supporting test server certs (self-signed, natch).
Branches
trunk
which.linden
[svn r135] Trampoline timeout works now.
Branches
trunk
which.linden
[svn r134] Fixes for some interesting issues discovered only after our count of unit tests using database connections crested 100.
Branches
trunk
which.linden
[svn r132] Timeout calls previously didn't work because the number of arguments passed in to schedule_call didn't match the signature of the _do_timout callback.
Branches
trunk
which.linden
[svn r131] Fix for some SwitchingToDeadGreenlet or TypeError: '_socketobject' object is not iterable exceptions: Passing both read=True and write=True to trampoline would cause the fd to select as both readable and writable in some error conditions. This would cause the greenlet to be spuriously resumed a second time. (commit comment stolen from donovan)
Branches
trunk
nat.linden
[svn r128] With rdw's help, introduce an HttpStreamSuite subclass of HttpSuite whose get() method returns an open httplib.HTTPResponse object from which you can incrementally read the response body, get response headers etc. Only lightly tested.
Branches
trunk
nat.linden
[svn r127] Tidy up the implementation of CoroutinePool.wait_all() by overriding Pool.get() and Pool.put() to manage our metaphore, rather than inserting calls inline.
Branches
trunk
nat.linden
[svn r126] Add CoroutinePool.generate_results(function, iterable) method with signature like process_all(), but for use when you care about the value returned by each call to function(). generate_results() yields results more or less as soon as they become available, allowing the caller to decide how to process or aggregate them. Add cross-coroutine queue class, with an API like a subset of event. Add classic semaphore class implemented on an event and a counter.
Branches
trunk
nat.linden
[svn r125] Introduce new CoroutinePool methods: wait_all() to wait until all coroutines launched with either execute() or execute_async() have completed. launch_all() to execute_async() a given function with each of a sequence of sets of arguments. process_all(), shorthand for launch_all() followed by wait_all(). Introduce metaphore, a sort of inverse semaphore on which wait_all() is implemented.
Branches
trunk
nat.linden
[svn r124] Publish greenlib.greenlet_dict() as api.local_dict() to provide a consistent interface to "coroutine-local storage."
Branches
trunk
which.linden
[svn r123] Fixed infinite redirect problem that Nat discovered.
Branches
trunk
which.linden
[svn r122] Enable transparent 3xx redirection for GETs. Redirect loops are avoided by the use of the max_retries parameter. If this works out pretty well, we'll consider doing the same for other methods.
Branches
trunk
q.linden
[svn r111] add ready() method to event class, so you can tell in advance whether or not wait() is going to block.
Branches
trunk
seeping.blister
[svn r110] Added exception type for 408 (RequestTimeout), so that we can catch it by name in CHTTP (required for persisting this exception to work).
Branches
trunk
kartic.linden
[svn r109] Added flush to NullSTDOut
Branches
trunk
kartic.linden
[svn r108] DEV-6119 Backbone Traceback re: SysCallError: (104, 'Connection reset by peer') in indra.log ============== Fix discussed with Phoenix Quick review by rdw Misc ==== consolidate import errno and from errno import EWOULDBLOCK, EAGAIN changes lines that used EAGAIN/EWOULDBLOCK to use errno.<E...>
Branches
trunk
donovan.linden
[svn r107] wrap_select_with_coroutine_select: This is to cooperate with people who are trying to do blocking reads with a timeout. This only works if r, w, and e aren't bigger than len 1, and if either r or w is populated. Install this with eventlet.util.wrap_select_with_coroutine_select, which makes the global select.select into fake_select.
Branches
trunk
which.linden
[svn r106] Cooked up a unit test for my earlier commit to coros.py, that exercises the flaw and demonstrates that it's solved.
Branches
trunk
which.linden
[svn r105] Minor tweak to account for the fact that only some responses can be parsed into tracebacks in this way.
Branches
trunk
seeping.blister
[svn r104] Added exception for response code 413: RequestEntityTooLarge.
Branches
trunk
which.linden
[svn r103] Discovered some cases that could cause coroutine pools to leak coroutines. Added a try/finally to catch and fix these.
Branches
trunk
seeping.blister
[svn r102] added exception classes for all the HTTP error codes needed to support CHTTP's exception semantics. EXCEPT for code 413, which is still ambiguous enough that I wasn't sure what exactly to do.
Branches
trunk
which.linden
[svn r101] Actor is extended to be able to process multiple messages concurrently. The default is 1, naturally. The tests had to be changed substantially because the additional handoff associated with using the coroutine pool made single api.sleep(0) insufficient to force an execution of the received method. Also switched to a deque in pools.py since that maps more closely to the problem domain. Reviewed by jonathan and donovan.
Branches
trunk
which.linden
[svn r100] Small tweaks to get saranwrap tests working on the Mac, mostly relating to changes in the behavior of copy and pickle modules between 2.3 and 2.5. It was bugging me.
Branches
trunk
which.linden
[svn r99] Minor change to make doctest work on both 2.3 and 2.5.
Branches
trunk
which.linden
[svn r98] Coroutine pools can now safely self-execute in the trivial case. The unit test decsribes the problem most succinctly. It turns out to be rather difficult to avoid inadvertently reentering a coroutine pool in code of moderate complexity, so it's better to simply make it safe to do so. Reviewed by Donovan.
Branches
trunk
which.linden
[svn r97] Fix for reason phrase persisting across http/1.1 requests.
Branches
trunk
which.linden
[svn r96] A batch of exception-related cleanup and fixes. - insulated Actor against exceptions raised in the received() method and another very-infrequently-occuring bug in run_forever. - More verbose when GreenletExit is raised in CoroutinePool, since we're not even sure it happens. - Minor optimization in httpd -- exceptions are somewhat expensive to raise -- when keep-alive header isn't present. - More verbose exception logging in httpd -- pre…
Branches
trunk
donovan.linden
[svn r95] Remote tracebacks in https are now printed nicely on the client side
Branches
trunk
  1. Prev
  2. Next