open_toontown_panda3d/makepanda
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
..
confauto.in Drop support for VC2008. Add support for VC2010. Split vrpn and ffmpeg out of libpanda. Fixes for cross-compiling 64-bit on 32-bit Windows. Will post new thirdparty packages at the forums. 2013-08-26 12:22:24 +00:00
config.in Use XDG basedir spec for model-cache-dir (now $XDG_CACHE_HOME/panda3d which is usually $HOME/.cache/panda3d) 2017-07-03 22:27:37 +02:00
expandimports.bat Remove references to SourceForge CVS repository 2015-08-23 14:12:59 +02:00
expandimports.py Move makepanda to root 2009-03-31 11:49:27 +00:00
getversion.py Cleanup trailing whitespace 2015-12-13 10:08:41 -05:00
installer.nsi Remove packpanda and eggcacher, don't require libpython on Linux 2017-01-05 17:22:11 +01:00
installpanda.py Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
makechm.bat Remove references to SourceForge CVS repository 2015-08-23 14:12:59 +02:00
makechm.py Cleanup trailing whitespace 2015-12-13 10:08:41 -05:00
makedocs.bat Remove references to SourceForge CVS repository 2015-08-23 14:12:59 +02:00
makedocs.py Move makepanda to root 2009-03-31 11:49:27 +00:00
makepanda.bat Remove references to SourceForge CVS repository 2015-08-23 14:12:59 +02:00
makepanda.py Implement awaitable thread-safe future for async operations 2017-12-04 22:25:28 +01:00
makepanda.sln line spacing adjusted so .sln file opens easily into Visual Studio on MS OS platforms 2010-03-19 17:37:43 +00:00
makepanda.vcproj Get rid of unnecessary DisplayRegionBase class 2017-05-24 13:42:01 +02:00
makepandacore.py makepanda: add support for compiling with VS 2017 2017-11-16 17:33:46 +01:00
makewheel.py makewheel: fix sha256 hashes being surrounded with b'' in Python 3 2017-11-03 20:05:24 +01:00
panda-install.bmp Fix eggcacher, dramatically improve Windows installer 2015-02-11 21:12:54 +01:00
panda3d.desktop More minor linux packaging fixes 2014-12-29 15:16:33 +01:00
pview.desktop More minor linux packaging fixes 2014-12-29 15:16:33 +01:00
test_imports.py Fix travis build 2017-09-19 17:49:04 +02:00