Guest User

Untitled

a guest
Dec 12th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. import scala.concurrent.{Await, ExecutionContext, Future, Promise}
  2. import cats.implicits._
  3.  
  4. import scala.concurrent.duration.Duration
  5. import scala.util.{Failure, Success}
  6.  
  7. final case class FutureConcurrentEffect()(implicit ec: ExecutionContext) extends FutureEffect with ConcurrentEffect[Future] {
  8. def start[A](fa: Future[A]): Future[Fiber[Future, A]] = Future.successful {
  9. FutureFiber(fa)
  10. }
  11.  
  12. def racePair[A, B](fa: Future[A], fb: Future[B]): Future[Either[(A, Fiber[Future, B]), (Fiber[Future, A], B)]] = ???
  13.  
  14. def runCancelable[A](fa: Future[A])(cb: Either[Throwable, A] => IO[Unit]): SyncIO[CancelToken[Future]] = ???
  15. }
Add Comment
Please, Sign In to add comment