summaryrefslogtreecommitdiff
path: root/test/files/jvm/future-spec
Commit message (Collapse)AuthorAgeFilesLines
* move Duration (incl. DSL) into scala.concurrent.duration packageRoland2012-09-193-5/+5
| | | | | | | | | so that the full package can be imported naturally: import scala.concurrent.duration._ will give you all the types (Duration, FiniteDuration, Deadline) and the DSL for constructing these.
* Add missing tests for SI-6190Paolo Giarrusso2012-08-251-1/+13
| | | | | This was silently fixed in commit 3cb0e784a05db7d0b542cec9bf4c5fbf3772a6cf but no test was added.
* Doc fix on exec ctx prepare method, fix to testsHeather Miller2012-08-081-1/+0
|
* Added tests, removal of unnecessary methods, fixes prepareHeather Miller2012-08-071-6/+6
|
* Temporarily skips failing test due to optimizer bug SI-6188Heather Miller2012-08-051-5/+5
| | | | Also swaps the arguments to method transform on Try, so as to mirror transform on scala.concurrent.Future.
* Basing Futures on Try instead of EitherHeather Miller2012-08-044-17/+139
|
* Critical bugfixes/leak fixes/API corrections + ScalaDoc for SIP-14Viktor Klang2012-07-192-6/+9
|
* Collection of updates to SIP-14 (scala.concurrent)Havoc Pennington2012-07-092-65/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Developed by Viktor Klang and Havoc Pennington - add Promise.isCompleted - add Future.successful and Future.failed - add ExecutionContextExecutor and ExecutionContextExecutorService for Java interop - remove defaultExecutionContext as default parameter value from promise and future - add ExecutionContext.Implicits.global which must be explicitly imported, rather than the previous always-available value for the implicit EC - remove currentExecutionContext, since it could create bugs by being out of sync with the implicit ExecutionContext - remove Future task batching (_taskStack) and Future.releaseStack This optimization should instead be implemented either in a specific thread pool or in a specific ExecutionContext. Some pools or ExecutionContexts may not want or need it. In this patch, the defaultExecutionContext does not keep the batching optimization. Whether it should have it should perhaps be determined through benchmarking. - move internalBlockingCall to BlockContext and remove currentExecutionContext In this patch, BlockContext must be implemented by Thread.currentThread, so the thread pool is the only place you can add custom hooks to be run when blocking. We implement BlockContext for the default ForkJoinWorkerThread in terms of ForkJoinPool.ManagedBlocker. - add public BlockContext.current and BlockContext.withBlockContext These allow an ExecutionContext or other code to override the BlockContext for the current thread. With this API, the BlockContext is customizable without creating a new pool of threads. BlockContext.current is needed to obtain the previous BlockContext before you push, so you can "chain up" to it if desired. BlockContext.withBlockContext is used to override the context for a given piece of code. - move isFutureThrowable into impl.Future - add implicitNotFound to ExecutionContext - remove default global EC from future {} and promise {} - add ExecutionContext.global for explicit use of the global default EC, replaces defaultExecutionContext - add a timeout to scala-concurrent-tck tests that block on SyncVar (so tests time out rather than hang) - insert blocking{} calls into concurrent tck to fix deadlocking - add NonFatal.apply and tests for NonFatal - add OnCompleteRunnable marker trait This would allow an ExecutionContext to distinguish a Runnable originating from Future.onComplete (all callbacks on Future end up going through onComplete). - rename ListenerRunnable to CallbackRunnable and use for KeptPromise too Just adds some clarity and consistency.
* SIP-14: clean ups and fixesphaller2012-05-172-2/+2
|
* Widen types in signatures of Future companion methods, refactor ↵Aleksandar Prokopec2012-05-012-238/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | OnceCanBuildFrom. Removed the implicit modifier on the OnceCanBuildFrom, as we don't support implicit classes with zero arguments. Added an implicit OnceCanBuildFrom method. The idea behind OnceCanBuildFrom is for it to be used by methods which construct collections, but are defined outside of collection classes. OnceCanBuildFrom so far worked only for objects of type TraversableOnce: shuffle(List(1, 2, 3).iterator: TraversableOnce[Int]) but this used to result in an implicit resolution error: shuffle(List(1, 2, 3).iterator) because after the type parameter M for `shuffle` was inferred to Iterator, no implicit of type CanBuildFrom[Iterator[_], A, Iterator[A]] could be found. Introduced another CanBuildFrom to the Iterator companion object. Modified Future tests appropriately.
* Add promises tests.Aleksandar Prokopec2012-04-302-0/+227
|
* Fixed a bug with setting execution contexts.Aleksandar Prokopec2012-04-301-2/+138
| | | | Ported most of the future tests.
* Porting akka future tests.Aleksandar Prokopec2012-04-272-0/+471
Fixed a bug in Future.zip.