You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, impl/prod operates on a base AppEngine Context despite the Context that the user supplies. To reduce the impact of this, an effort is made to copy any Deadline parameters from the user's Context into the derived single-use Context that impl/prod uses to talk to AppEngine.
Unfortunately, this does not copy the Done or cancellable state in the user's Context, making this a bit inconsistent. There isn't really a great way to copy cancellable without spawning a goroutine every time a new operation happens, which seems fairly expensive in performant code. We may be able to handle already-cancelled Contexts, but that is likely not a primary use case.
use goroutines to reproduce cancellation
use a single goroutine to poll all Context's that we care about and signal/callback if they are cancelled (ew). It'd have to be an iterative poll, since a select can't be built in advance.
rework how Context derivation happens so we can piggyback directly off the user's Context. I think I prefer this one.
edit (iannucci): # -> checkboxen
The text was updated successfully, but these errors were encountered:
Currently,
impl/prod
operates on a base AppEngineContext
despite theContext
that the user supplies. To reduce the impact of this, an effort is made to copy anyDeadline
parameters from the user'sContext
into the derived single-useContext
thatimpl/prod
uses to talk to AppEngine.Unfortunately, this does not copy the
Done
or cancellable state in the user'sContext
, making this a bit inconsistent. There isn't really a great way to copy cancellable without spawning a goroutine every time a new operation happens, which seems fairly expensive in performant code. We may be able to handle already-cancelledContext
s, but that is likely not a primary use case.select
can't be built in advance.Context
derivation happens so we can piggyback directly off the user'sContext
. I think I prefer this one.edit (iannucci):
#
-> checkboxenThe text was updated successfully, but these errors were encountered: