open_toontown_panda3d/direct/src/interval
rdb 2e20a0f16e Implement awaitable thread-safe future for async operations
This introduces AsyncFuture as a new base class of AsyncTask.  It's modelled after asyncio's Future class, except that it is thread-safe and you can use result() to block the current thread waiting for the future to finish (of course this is not necessary for use with coroutines).

AsyncFuture should be used for any operation that finishes in the future, to get the benefit of awaitability within coroutines as well as a standard interface for querying status and results of the operation as well as cancelling it.  As such, it's been implemented in various places, including texture.prepare() and win.trigger_copy().

Note that AsyncFuture is intended to be used *once*; it cannot be used more than once.  As an example of how this works, tex.prepare() will return the same future as long as the prepare isn't complete, but when it is done, subsequent calls to tex.prepare() will return a new future.
2017-12-04 22:25:28 +01:00
..
ActorInterval.py interval: fix ActorInterval endFrame assignment when passing duration 2017-11-03 20:07:24 +01:00
AnimControlInterval.py The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
FunctionInterval.py The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
IndirectInterval.py The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
Interval.py Implement awaitable thread-safe future for async operations 2017-12-04 22:25:28 +01:00
IntervalGlobal.py Improvements to generated API docs, especially in direct tree. 2017-05-24 13:30:21 +02:00
IntervalManager.py Improvements to generated API docs, especially in direct tree. 2017-05-24 13:30:21 +02:00
IntervalTest.py The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
LerpBlendHelpers.py Cleanup trailing whitespace 2015-12-13 10:08:41 -05:00
LerpInterval.py The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
MetaInterval.py Improvements to generated API docs, especially in direct tree. 2017-05-24 13:30:21 +02:00
MopathInterval.py The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
ParticleInterval.py Improvements to generated API docs, especially in direct tree. 2017-05-24 13:30:21 +02:00
ProjectileInterval.py The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
ProjectileIntervalTest.py The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
SoundInterval.py The direct tree is now valid Python 2 *and* 3 2016-03-28 22:33:30 +02:00
TestInterval.py Improvements to generated API docs, especially in direct tree. 2017-05-24 13:30:21 +02:00
__init__.py Improvements to generated API docs, especially in direct tree. 2017-05-24 13:30:21 +02:00
cConstrainHprInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cConstrainHprInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cConstrainHprInterval.h Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
cConstrainPosHprInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cConstrainPosHprInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cConstrainPosHprInterval.h Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
cConstrainPosInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cConstrainPosInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cConstrainPosInterval.h Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
cConstrainTransformInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cConstrainTransformInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cConstrainTransformInterval.h Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
cConstraintInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cConstraintInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cConstraintInterval.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
cInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cInterval.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
cIntervalManager.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cIntervalManager.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cIntervalManager.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
cLerpAnimEffectInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cLerpAnimEffectInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cLerpAnimEffectInterval.h Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
cLerpInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cLerpInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cLerpInterval.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
cLerpNodePathInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cLerpNodePathInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cLerpNodePathInterval.h Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
cMetaInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
cMetaInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
cMetaInterval.h Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
config_interval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
config_interval.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
hideInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
hideInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
hideInterval.h Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
lerp_helpers.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
lerpblend.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
lerpblend.h New file headers, new comment style 2016-02-17 17:47:48 +01:00
p3interval_composite1.cxx missing file 2011-12-19 18:43:27 +00:00
showInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
showInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
showInterval.h Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
waitInterval.I New file headers, new comment style 2016-02-17 17:47:48 +01:00
waitInterval.cxx New file headers, new comment style 2016-02-17 17:47:48 +01:00
waitInterval.h Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00