Packages

o

izumi.functional.bio.impl.MiniBIOAsync

WeakAsyncForMiniBIOAsync

implicit object WeakAsyncForMiniBIOAsync extends WeakAsync2[MiniBIOAsync] with BlockingIO2[MiniBIOAsync] with WeakTemporal2[MiniBIOAsync]

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. WeakAsyncForMiniBIOAsync
  2. WeakTemporal2
  3. TemporalInstances
  4. BlockingIO2
  5. BlockingIOInstances
  6. WeakAsync2
  7. Parallel2
  8. IO2
  9. Panic2
  10. PanicSyntax
  11. Bracket2
  12. Error2
  13. ErrorAccumulatingOps2
  14. Monad2
  15. ApplicativeError2
  16. Bifunctor2
  17. Guarantee2
  18. Applicative2
  19. Functor2
  20. RootBifunctor
  21. Root
  22. PredefinedHelper
  23. DivergenceHelper
  24. AnyRef
  25. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type Divergence = Nondivergent
    Definition Classes
    DivergenceHelper
  2. type IsPredefined = NotPredefined
    Definition Classes
    PredefinedHelper

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def *>[E, A, B](f: MiniBIOAsync[E, A], next: => MiniBIOAsync[E, B]): MiniBIOAsync[E, B]

    execute two operations in order, return result of second operation

    execute two operations in order, return result of second operation

    Definition Classes
    Monad2Applicative2
  4. def <*[E, A, B](f: MiniBIOAsync[E, A], next: => MiniBIOAsync[E, B]): MiniBIOAsync[E, A]

    execute two operations in order, same as *>, but return result of first operation

    execute two operations in order, same as *>, but return result of first operation

    Definition Classes
    Monad2Applicative2
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def InnerF: Panic2[MiniBIOAsync]
    Definition Classes
    WeakAsync2Parallel2ApplicativeError2Bifunctor2
  7. def accumulateErrorsImpl[ColL[_], ColR[x] <: IterableOnce[x], E, E1, A, B, B1, AC](col: ColR[A])(effect: (A) => MiniBIOAsync[E, B], onLeft: (E) => IterableOnce[E1], init: AC, onRight: (AC, B) => AC, end: (AC) => B1)(implicit buildL: Factory[E1, ColL[E1]]): MiniBIOAsync[ColL[E1], B1]
    Attributes
    protected
    Definition Classes
    IO2ErrorAccumulatingOps2
  8. final def apply[A](effect: => A): MiniBIOAsync[Throwable, A]
    Definition Classes
    IO2
    Annotations
    @inline()
  9. def as[E, A, B](r: MiniBIOAsync[E, A])(v: => B): MiniBIOAsync[E, B]
    Definition Classes
    Functor2
  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. def async[E, A](register: ((Either[E, A]) => Unit) => Unit): MiniBIOAsync[E, A]

    Construct an effect from an asynchronous callback-based API.

    Construct an effect from an asynchronous callback-based API.

    The callback provided to register must be invoked exactly once with either a success value wrapped in Right or an error wrapped in Left.

    Example:

    def readFile[F[+_, +_]: WeakAsync2](path: String): F[Throwable, String] = {
      F.async { cb =>
        asyncFileReader.read(path)(
          onSuccess = content => cb(Right(content)),
          onError = err => cb(Left(err))
        )
      }
    }
    Definition Classes
    WeakAsyncForMiniBIOAsyncWeakAsync2
    Note

    Effects created with async, Async2.asyncF, Async2.asyncWithOnInterrupt, fromFuture and Async2.fromFutureJava are INTERRUPTIBLE.

    • In case of async and Async2.asyncF if the current fiber is interrupted, the registered callback will be simply THROWN AWAY.
    • If a cleanup action is required to wind down the async operation safely, use Async2.asyncWithOnInterrupt to provide a cleanup action.
    • If an async operation's callback CANNOT be safely discarded OR interrupted, wrap your expression in Panic2.uninterruptible.
  12. def attempt[E, A](r: MiniBIOAsync[E, A]): MiniBIOAsync[Nothing, Either[E, A]]
    Definition Classes
    Error2
  13. def bimap[E, A, E2, B](r: MiniBIOAsync[E, A])(f: (E) => E2, g: (A) => B): MiniBIOAsync[E2, B]
    Definition Classes
    Error2Bifunctor2
  14. def bracket[E, A, B](acquire: MiniBIOAsync[E, A])(release: (A) => MiniBIOAsync[Nothing, Unit])(use: (A) => MiniBIOAsync[E, B]): MiniBIOAsync[E, B]
    Definition Classes
    Bracket2
  15. def bracketCase[E, A, B](acquire: MiniBIOAsync[E, A])(release: (A, Exit[E, B]) => MiniBIOAsync[Nothing, Unit])(use: (A) => MiniBIOAsync[E, B]): MiniBIOAsync[E, B]
    Definition Classes
    WeakAsyncForMiniBIOAsyncPanic2Bracket2
  16. def bracketExcept[E, A, B](acquire: (RestoreInterruption2[MiniBIOAsync]) => MiniBIOAsync[E, A])(release: (A, Exit[E, B]) => MiniBIOAsync[Nothing, Unit])(use: (A) => MiniBIOAsync[E, B]): MiniBIOAsync[E, B]

    Like bracketCase, but acquire can contain marked interruptible regions as in uninterruptibleExcept

    Like bracketCase, but acquire can contain marked interruptible regions as in uninterruptibleExcept

    Definition Classes
    WeakAsyncForMiniBIOAsyncPanic2
  17. final def bracketOnFailure[E, A, B](acquire: MiniBIOAsync[E, A])(cleanupOnFailure: (A, Failure[E]) => MiniBIOAsync[Nothing, Unit])(use: (A) => MiniBIOAsync[E, B]): MiniBIOAsync[E, B]

    Run release action only on a failure – _any failure_, INCLUDING interruption.

    Run release action only on a failure – _any failure_, INCLUDING interruption. Do not run release action if use finished successfully.

    Definition Classes
    Bracket2
  18. def catchAll[E, A, E2](r: MiniBIOAsync[E, A])(f: (E) => MiniBIOAsync[E2, A]): MiniBIOAsync[E2, A]
    Definition Classes
    WeakAsyncForMiniBIOAsyncError2
  19. def catchSome[E, A, E1 >: E](r: MiniBIOAsync[E, A])(f: PartialFunction[E, MiniBIOAsync[E1, A]]): MiniBIOAsync[E1, A]
    Definition Classes
    Error2
  20. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  21. def collect[E, A, B](l: Iterable[A])(f: (A) => MiniBIOAsync[E, Option[B]]): MiniBIOAsync[E, List[B]]
    Definition Classes
    Applicative2
  22. def collectFirst[E, A, B](l: Iterable[A])(f: (A) => MiniBIOAsync[E, Option[B]]): MiniBIOAsync[E, Option[B]]
    Definition Classes
    Monad2
  23. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  25. def fail[E](v: => E): MiniBIOAsync[E, Nothing]
  26. def filter[E, A](l: Iterable[A])(f: (A) => MiniBIOAsync[E, Boolean]): MiniBIOAsync[E, List[A]]
    Definition Classes
    Applicative2
  27. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  28. def find[E, A](l: Iterable[A])(f: (A) => MiniBIOAsync[E, Boolean]): MiniBIOAsync[E, Option[A]]
    Definition Classes
    Monad2
  29. def flatMap[E, A, B](r: MiniBIOAsync[E, A])(f: (A) => MiniBIOAsync[E, B]): MiniBIOAsync[E, B]
    Definition Classes
    WeakAsyncForMiniBIOAsyncMonad2
  30. def flatSequence[E, A](l: Iterable[MiniBIOAsync[E, Iterable[A]]]): MiniBIOAsync[E, List[A]]
    Definition Classes
    Applicative2
  31. def flatSequenceAccumErrors[ColR[x] <: IterableOnce[x], ColIn[x] <: IterableOnce[x], ColL[_], E, A](col: ColR[MiniBIOAsync[ColL[E], ColIn[A]]])(implicit buildR: Factory[A, ColR[A]], buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): MiniBIOAsync[ColL[E], ColR[A]]

    flatSequence with error accumulation

    flatSequence with error accumulation

    Definition Classes
    ErrorAccumulatingOps2
  32. def flatTraverse[E, A, B](l: Iterable[A])(f: (A) => MiniBIOAsync[E, Iterable[B]]): MiniBIOAsync[E, List[B]]
    Definition Classes
    Applicative2
  33. def flatTraverseAccumErrors[ColR[x] <: IterableOnce[x], ColIn[x] <: IterableOnce[x], ColL[_], E, A, B](col: ColR[A])(f: (A) => MiniBIOAsync[ColL[E], ColIn[B]])(implicit buildR: Factory[B, ColR[B]], buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): MiniBIOAsync[ColL[E], ColR[B]]

    flatTraverse with error accumulation

    flatTraverse with error accumulation

    Definition Classes
    ErrorAccumulatingOps2
  34. def flatten[E, A](r: MiniBIOAsync[E, MiniBIOAsync[E, A]]): MiniBIOAsync[E, A]
    Definition Classes
    Monad2
  35. def flip[E, A](r: MiniBIOAsync[E, A]): MiniBIOAsync[A, E]
    Definition Classes
    Error2
  36. def foldLeft[E, A, AC](l: Iterable[A])(z: AC)(f: (AC, A) => MiniBIOAsync[E, AC]): MiniBIOAsync[E, AC]
    Definition Classes
    Monad2
  37. final def forever[E, A](r: MiniBIOAsync[E, A]): MiniBIOAsync[E, Nothing]
    Definition Classes
    Applicative2
    Annotations
    @inline()
  38. def fromAttempt[A](effect: => A): MiniBIOAsync[Throwable, A]

    For lazy monads: alias for IO2#syncThrowable.

    For lazy monads: alias for IO2#syncThrowable. For strict monads, shorthand for F.fromTry(Try(effect))

    Definition Classes
    IO2ApplicativeError2
  39. def fromEither[E, A](effect: => Either[E, A]): MiniBIOAsync[E, A]
    Definition Classes
    IO2ApplicativeError2
  40. def fromFuture[A](mkFuture: (ExecutionContext) => Future[A]): MiniBIOAsync[Throwable, A]

    Definition Classes
    WeakAsyncForMiniBIOAsyncWeakAsync2
    Note

    to implementors: The effect produced MUST be interruptible (cats.effect.IO's fromFuture is not!)

  41. final def fromFuture[A](mkFuture: => Future[A]): MiniBIOAsync[Throwable, A]
    Definition Classes
    WeakAsync2
    Annotations
    @inline()
  42. def fromOption[E, A](errorOnNone: => E)(effect: => Option[A]): MiniBIOAsync[E, A]
    Definition Classes
    IO2ApplicativeError2
  43. def fromOption[E, A](errorOnNone: => E, r: MiniBIOAsync[E, Option[A]]): MiniBIOAsync[E, A]

    Extracts the optional value or fails with the errorOnNone error

    Extracts the optional value or fails with the errorOnNone error

    Definition Classes
    Error2
  44. def fromOptionF[E, A](fallbackOnNone: => MiniBIOAsync[E, A], r: MiniBIOAsync[E, Option[A]]): MiniBIOAsync[E, A]

    Extracts the optional value, or executes the fallbackOnNone effect

    Extracts the optional value, or executes the fallbackOnNone effect

    Definition Classes
    Monad2
  45. def fromOptionOr[E, A](valueOnNone: => A, r: MiniBIOAsync[E, Option[A]]): MiniBIOAsync[E, A]

    Extracts the optional value, or returns the given valueOnNone value

    Extracts the optional value, or returns the given valueOnNone value

    Definition Classes
    Functor2
  46. def fromSandboxExit[E, A](effect: => Uninterrupted[E, A]): MiniBIOAsync[E, A]
    Definition Classes
    WeakAsyncForMiniBIOAsyncIO2Panic2
  47. def fromTry[A](effect: => Try[A]): MiniBIOAsync[Throwable, A]
    Definition Classes
    IO2ApplicativeError2
  48. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  49. def guarantee[E, A](f: MiniBIOAsync[E, A], cleanup: MiniBIOAsync[Nothing, Unit]): MiniBIOAsync[E, A]
    Definition Classes
    Bracket2Guarantee2
  50. def guaranteeCase[E, A](f: MiniBIOAsync[E, A], cleanup: (Exit[E, A]) => MiniBIOAsync[Nothing, Unit]): MiniBIOAsync[E, A]
    Definition Classes
    Bracket2
  51. final def guaranteeExceptOnInterrupt[E, A](f: MiniBIOAsync[E, A], cleanupOnNonInterruption: (Uninterrupted[E, A]) => MiniBIOAsync[Nothing, Unit]): MiniBIOAsync[E, A]

    Run cleanup on both _success_ and _failure_, if the failure IS NOT an interruption.

    Run cleanup on both _success_ and _failure_, if the failure IS NOT an interruption.

    Definition Classes
    Bracket2
  52. final def guaranteeOnFailure[E, A](f: MiniBIOAsync[E, A], cleanupOnFailure: (Failure[E]) => MiniBIOAsync[Nothing, Unit]): MiniBIOAsync[E, A]

    Run cleanup only on a failure – _any failure_, INCLUDING interruption.

    Run cleanup only on a failure – _any failure_, INCLUDING interruption. Do not run cleanup if use finished successfully.

    Definition Classes
    Bracket2
  53. final def guaranteeOnInterrupt[E, A](f: MiniBIOAsync[E, A], cleanupOnInterruption: (Interruption) => MiniBIOAsync[Nothing, Unit]): MiniBIOAsync[E, A]

    Run cleanup only on interruption.

    Run cleanup only on interruption. Do not run cleanup if use finished successfully.

    Definition Classes
    Bracket2
  54. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  55. final def ifThenElse[E, E1, A](cond: MiniBIOAsync[E, Boolean])(ifTrue: => MiniBIOAsync[E1, A], ifFalse: => MiniBIOAsync[E1, A])(implicit ev: <:<[E, E1]): MiniBIOAsync[E1, A]
    Definition Classes
    Monad2
    Annotations
    @inline()
  56. final def ifThenElse[E, A](cond: Boolean)(ifTrue: => MiniBIOAsync[E, A], ifFalse: => MiniBIOAsync[E, A]): MiniBIOAsync[E, A]
    Definition Classes
    Applicative2
    Annotations
    @inline()
  57. final def ifThenFail[E](cond: Boolean)(errorIfTrue: => E): MiniBIOAsync[E, Unit]
    Definition Classes
    ApplicativeError2
    Annotations
    @inline()
  58. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  59. def iterateUntil[E, A](r: MiniBIOAsync[E, A])(p: (A) => Boolean): MiniBIOAsync[E, A]

    Execute an action repeatedly until its result satisfies the given predicate and return that result, discarding all others.

    Execute an action repeatedly until its result satisfies the given predicate and return that result, discarding all others.

    Definition Classes
    Monad2
  60. def iterateUntilF[E, A](init: A)(f: (A) => MiniBIOAsync[E, A])(p: (A) => Boolean): MiniBIOAsync[E, A]

    Apply an effectful function iteratively until its result satisfies the given predicate and return that result.

    Apply an effectful function iteratively until its result satisfies the given predicate and return that result.

    Definition Classes
    Monad2
  61. def iterateWhile[E, A](r: MiniBIOAsync[E, A])(p: (A) => Boolean): MiniBIOAsync[E, A]

    Execute an action repeatedly until its result fails to satisfy the given predicate and return that result, discarding all others.

    Execute an action repeatedly until its result fails to satisfy the given predicate and return that result, discarding all others.

    Definition Classes
    Monad2
  62. def iterateWhileF[E, A](init: A)(f: (A) => MiniBIOAsync[E, A])(p: (A) => Boolean): MiniBIOAsync[E, A]

    Apply an effectful function iteratively until its result fails to satisfy the given predicate and return that result.

    Apply an effectful function iteratively until its result fails to satisfy the given predicate and return that result.

    Definition Classes
    Monad2
  63. def leftFlatMap[E, A, E2](r: MiniBIOAsync[E, A])(f: (E) => MiniBIOAsync[Nothing, E2]): MiniBIOAsync[E2, A]
    Definition Classes
    Error2
  64. def leftMap[E, A, E2](r: MiniBIOAsync[E, A])(f: (E) => E2): MiniBIOAsync[E2, A]
    Definition Classes
    Bifunctor2
  65. def leftMap2[E, A, E2, E3](firstOp: MiniBIOAsync[E, A], secondOp: => MiniBIOAsync[E2, A])(f: (E, E2) => E3): MiniBIOAsync[E3, A]

    map errors from two operations into a new error if both fail

    map errors from two operations into a new error if both fail

    Definition Classes
    Error2ApplicativeError2
  66. def map[E, A, B](r: MiniBIOAsync[E, A])(f: (A) => B): MiniBIOAsync[E, B]
    Definition Classes
    Monad2Functor2
  67. def map2[E, A, B, C](r1: MiniBIOAsync[E, A], r2: => MiniBIOAsync[E, B])(f: (A, B) => C): MiniBIOAsync[E, C]

    execute two operations in order, map their results

    execute two operations in order, map their results

    Definition Classes
    Monad2Applicative2
  68. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  69. def never: MiniBIOAsync[Nothing, Nothing]
    Definition Classes
    WeakAsync2
  70. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  71. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  72. def orElse[E, A, E2](r: MiniBIOAsync[E, A], f: => MiniBIOAsync[E2, A]): MiniBIOAsync[E2, A]

    execute second operation only if the first one fails

    execute second operation only if the first one fails

    Definition Classes
    Error2ApplicativeError2
  73. final def orTerminate[A](r: MiniBIOAsync[Throwable, A]): MiniBIOAsync[Nothing, A]
    Definition Classes
    Panic2
    Annotations
    @inline()
  74. final def orTerminateK: Morphism1[[β$0$]MiniBIOAsync[Throwable, β$0$], [β$1$]MiniBIOAsync[Nothing, β$1$]]
    Definition Classes
    Panic2
    Annotations
    @inline()
  75. def parTraverse[E, A, B](l: Iterable[A])(f: (A) => MiniBIOAsync[E, B]): MiniBIOAsync[E, List[B]]
    Definition Classes
    WeakAsyncForMiniBIOAsyncParallel2
  76. def parTraverseN[E, A, B](maxParallelism: Int)(l: Iterable[A])(f: (A) => MiniBIOAsync[E, B]): MiniBIOAsync[E, List[B]]
    Definition Classes
    WeakAsyncForMiniBIOAsyncParallel2
  77. def parTraverseNCore[E, A, B](l: Iterable[A])(f: (A) => MiniBIOAsync[E, B]): MiniBIOAsync[E, List[B]]

    parTraverseN with maxConcurrent set to the number of cores, or 2 when on single-core processor

    parTraverseN with maxConcurrent set to the number of cores, or 2 when on single-core processor

    Definition Classes
    WeakAsyncForMiniBIOAsyncParallel2
  78. def parTraverseNCore_[E, A](l: Iterable[A])(f: (A) => MiniBIOAsync[E, Unit]): MiniBIOAsync[E, Unit]
    Definition Classes
    WeakAsyncForMiniBIOAsyncParallel2
  79. def parTraverseN_[E, A](maxParallelism: Int)(l: Iterable[A])(f: (A) => MiniBIOAsync[E, Unit]): MiniBIOAsync[E, Unit]
    Definition Classes
    WeakAsyncForMiniBIOAsyncParallel2
  80. def parTraverse_[E, A](l: Iterable[A])(f: (A) => MiniBIOAsync[E, Unit]): MiniBIOAsync[E, Unit]
    Definition Classes
    WeakAsyncForMiniBIOAsyncParallel2
  81. def partition[E, A](l: Iterable[MiniBIOAsync[E, A]]): MiniBIOAsync[Nothing, (List[E], List[A])]
    Definition Classes
    Error2
    Annotations
    @nowarn()
  82. def pure[A](a: A): MiniBIOAsync[Nothing, A]
  83. def redeem[E, A, E2, B](r: MiniBIOAsync[E, A])(err: (E) => MiniBIOAsync[E2, B], succ: (A) => MiniBIOAsync[E2, B]): MiniBIOAsync[E2, B]
    Definition Classes
    WeakAsyncForMiniBIOAsyncError2
  84. def redeemPure[E, A, B](r: MiniBIOAsync[E, A])(err: (E) => B, succ: (A) => B): MiniBIOAsync[Nothing, B]
    Definition Classes
    Error2
  85. final def repeatUntil[E, A](action: MiniBIOAsync[E, Option[A]])(tooManyAttemptsError: => E, sleep: FiniteDuration, maxAttempts: Int): MiniBIOAsync[E, A]
    Definition Classes
    WeakTemporal2
    Annotations
    @inline()
  86. def retryUntil[E, A](r: MiniBIOAsync[E, A])(f: (E) => Boolean): MiniBIOAsync[E, A]

    Retries this effect until its error satisfies the specified predicate.

    Retries this effect until its error satisfies the specified predicate.

    Definition Classes
    Error2
  87. def retryUntilF[E, A](r: MiniBIOAsync[E, A])(f: (E) => MiniBIOAsync[Nothing, Boolean]): MiniBIOAsync[E, A]

    Retries this effect until its error satisfies the specified effectful predicate.

    Retries this effect until its error satisfies the specified effectful predicate.

    Definition Classes
    Error2
  88. def retryWhile[E, A](r: MiniBIOAsync[E, A])(f: (E) => Boolean): MiniBIOAsync[E, A]

    Retries this effect while its error satisfies the specified predicate.

    Retries this effect while its error satisfies the specified predicate.

    Definition Classes
    Error2
  89. def retryWhileF[E, A](r: MiniBIOAsync[E, A])(f: (E) => MiniBIOAsync[Nothing, Boolean]): MiniBIOAsync[E, A]

    Retries this effect while its error satisfies the specified effectful predicate.

    Retries this effect while its error satisfies the specified effectful predicate.

    Definition Classes
    Error2
  90. def sandbox[E, A](r: MiniBIOAsync[E, A]): MiniBIOAsync[FailureUninterrupted[E], A]

    Definition Classes
    WeakAsyncForMiniBIOAsyncPanic2
    Note

    Will return either Exit.Success, Exit.Error or Exit.Termination. Exit.Interruption cannot be sandboxed – use guaranteeOnInterrupt for cleanups on interruptions.

  91. final def sandboxCatchAll[E, A, E2](r: MiniBIOAsync[E, A])(f: (FailureUninterrupted[E]) => MiniBIOAsync[E2, A]): MiniBIOAsync[E2, A]
    Definition Classes
    Panic2
    Annotations
    @inline()
  92. final def sandboxExit[E, A](r: MiniBIOAsync[E, A]): MiniBIOAsync[Nothing, Uninterrupted[E, A]]

    Definition Classes
    Panic2
    Annotations
    @inline()
    Note

    Will return either Exit.Success, Exit.Error or Exit.Termination. Exit.Interruption cannot be sandboxed. Use guaranteeOnInterrupt for cleanups on interruptions.

  93. def sendInterruptToSelf: MiniBIOAsync[Nothing, Unit]

    Signal interruption to this fiber.

    Signal interruption to this fiber.

    This is _NOT_ the same as

    F.halt(Exit.Interrupted(Trace.forUnknownError))

    The code above exits with Exit.Interrupted failure *unconditionally*, whereas sendInterruptToSelf will not exit when in an uninterruptible region. Example:

    F.uninterruptible {
      F.halt(Exit.Interrupted(Trace.forUnknownError)) *>
      F.sync(println("Hello!")) // interrupted above. Hello _not_ printed
    }

    But with sendInterruptToSelf:

    F.uninterruptible {
      F.sendInterruptToSelf *>
      F.sync(println("Hello!")) // Hello IS printed.
    } *> F.sync(println("Impossible")) // interrupted immediately after `uninterruptible` block ends. Impossible _not_ printed
    Definition Classes
    WeakAsyncForMiniBIOAsyncPanic2
    See also

  94. def sequence[E, A](l: Iterable[MiniBIOAsync[E, A]]): MiniBIOAsync[E, List[A]]
    Definition Classes
    Applicative2
  95. def sequenceAccumErrors[ColR[x] <: IterableOnce[x], ColL[_], E, A](col: ColR[MiniBIOAsync[ColL[E], A]])(implicit buildR: Factory[A, ColR[A]], buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): MiniBIOAsync[ColL[E], ColR[A]]

    sequence with error accumulation

    sequence with error accumulation

    Definition Classes
    ErrorAccumulatingOps2
  96. def sequenceAccumErrorsNEList[ColR[x] <: IterableOnce[x], E, A](col: ColR[MiniBIOAsync[E, A]])(implicit buildR: Factory[A, ColR[A]]): MiniBIOAsync[NEList[E], ColR[A]]

    sequence with error accumulation

    sequence with error accumulation

    Definition Classes
    ErrorAccumulatingOps2
  97. def sequenceAccumErrors_[ColR[x] <: IterableOnce[x], ColL[_], E, A](col: ColR[MiniBIOAsync[ColL[E], A]])(implicit buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): MiniBIOAsync[ColL[E], Unit]

    sequence_ with error accumulation

    sequence_ with error accumulation

    Definition Classes
    ErrorAccumulatingOps2
  98. def sequence_[E](l: Iterable[MiniBIOAsync[E, Unit]]): MiniBIOAsync[E, Unit]
    Definition Classes
    Applicative2
  99. def shiftBlocking[E, A](f: MiniBIOAsync[E, A]): MiniBIOAsync[E, A]

    Execute a blocking action on a Blocking thread pool; current task will be safely parked until the blocking task finishes *

    Execute a blocking action on a Blocking thread pool; current task will be safely parked until the blocking task finishes *

    Definition Classes
    WeakAsyncForMiniBIOAsyncBlockingIO2
  100. def sleep(duration: Duration): MiniBIOAsync[Nothing, Unit]
  101. def suspendSafe[E, A](effect: => MiniBIOAsync[E, A]): MiniBIOAsync[E, A]

    Capture an _exception-safe_ side-effect that returns another effect

    Capture an _exception-safe_ side-effect that returns another effect

    Definition Classes
    IO2
  102. def suspendThrowable[A](effect: => MiniBIOAsync[Throwable, A]): MiniBIOAsync[Throwable, A]

    Capture a side-effectful block of code that can throw exceptions and returns another effect

    Capture a side-effectful block of code that can throw exceptions and returns another effect

    Definition Classes
    IO2
  103. def sync[A](effect: => A): MiniBIOAsync[Nothing, A]

    Capture an _exception-safe_ side-effect such as memory mutation or randomness

    Capture an _exception-safe_ side-effect such as memory mutation or randomness

    Definition Classes
    WeakAsyncForMiniBIOAsyncIO2
    Example:
    1. import izumi.functional.bio.F
      
      val exceptionSafeArrayAllocation: F[Nothing, Array[Byte]] = {
        F.sync(new Array(256))
      }
    Note

    If you're not completely sure that a captured block can't throw, use syncThrowable

    ,

    sync means synchronous, that is, a blocking CPU effect, as opposed to a non-blocking asynchronous effect or a long blocking I/O effect (izumi.functional.bio.BlockingIO2#syncBlocking)

  104. def syncBlocking[A](f: => A): MiniBIOAsync[Throwable, A]

    Execute a blocking impure effect on a Blocking thread pool; current task will be safely parked until the blocking task finishes *

    Execute a blocking impure effect on a Blocking thread pool; current task will be safely parked until the blocking task finishes *

    Definition Classes
    WeakAsyncForMiniBIOAsyncBlockingIO2
  105. def syncInterruptibleBlocking[A](f: => A): MiniBIOAsync[Throwable, A]

    Execute a blocking impure effect on a Blocking thread pool; current task will be safely parked until the blocking task finishes

    Execute a blocking impure effect on a Blocking thread pool; current task will be safely parked until the blocking task finishes

    If canceled, the task _MAY_ be killed via java.lang.Thread#interrupt. There is no guarantee that this method may promptly, or ever, interrupt the enclosed task, and it may be legally implemented as an alias to syncBlocking

    THIS IS USUALLY UNSAFE unless calling well-written libraries that specifically handle java.lang.InterruptedException

    Definition Classes
    WeakAsyncForMiniBIOAsyncBlockingIO2
  106. def syncThrowable[A](effect: => A): MiniBIOAsync[Throwable, A]

    Capture a side-effectful block of code that can throw exceptions

    Capture a side-effectful block of code that can throw exceptions

    Definition Classes
    WeakAsyncForMiniBIOAsyncIO2
    Note

    sync means synchronous, that is, a blocking CPU effect, as opposed to a non-blocking asynchronous effect or a long blocking I/O effect (izumi.functional.bio.BlockingIO2#syncBlocking)

  107. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  108. def tailRecM[E, A, B](a: A)(f: (A) => MiniBIOAsync[E, Either[A, B]]): MiniBIOAsync[E, B]
    Definition Classes
    Monad2
  109. def tap[E, A](r: MiniBIOAsync[E, A], f: (A) => MiniBIOAsync[E, Unit]): MiniBIOAsync[E, A]
    Definition Classes
    Monad2
  110. def tapBoth[E, A, E1 >: E](r: MiniBIOAsync[E, A])(err: (E) => MiniBIOAsync[E1, Unit], succ: (A) => MiniBIOAsync[E1, Unit]): MiniBIOAsync[E1, A]
    Definition Classes
    Error2
  111. def tapError[E, A, E1 >: E](r: MiniBIOAsync[E, A])(f: (E) => MiniBIOAsync[E1, Unit]): MiniBIOAsync[E1, A]
    Definition Classes
    Error2
  112. def terminate(v: => Throwable): MiniBIOAsync[Nothing, Nothing]
    Definition Classes
    WeakAsyncForMiniBIOAsyncPanic2
  113. def toString(): String
    Definition Classes
    AnyRef → Any
  114. def traverse[E, A, B](l: Iterable[A])(f: (A) => MiniBIOAsync[E, B]): MiniBIOAsync[E, List[B]]
  115. final def traverse[E, A, B](o: Option[A])(f: (A) => MiniBIOAsync[E, B]): MiniBIOAsync[E, Option[B]]
    Definition Classes
    Applicative2
    Annotations
    @inline()
  116. def traverseAccumErrors[ColR[x] <: IterableOnce[x], ColL[_], E, A, B](col: ColR[A])(f: (A) => MiniBIOAsync[ColL[E], B])(implicit buildR: Factory[B, ColR[B]], buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): MiniBIOAsync[ColL[E], ColR[B]]

    traverse with error accumulation

    traverse with error accumulation

    Definition Classes
    ErrorAccumulatingOps2
  117. def traverseAccumErrorsNEList[ColR[x] <: IterableOnce[x], E, A, B](col: ColR[A])(f: (A) => MiniBIOAsync[E, B])(implicit buildR: Factory[B, ColR[B]]): MiniBIOAsync[NEList[E], ColR[B]]

    traverse with error accumulation

    traverse with error accumulation

    Definition Classes
    ErrorAccumulatingOps2
  118. def traverseAccumErrors_[ColR[x] <: IterableOnce[x], ColL[_], E, A](col: ColR[A])(f: (A) => MiniBIOAsync[ColL[E], Unit])(implicit buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): MiniBIOAsync[ColL[E], Unit]

    traverse_ with error accumulation

    traverse_ with error accumulation

    Definition Classes
    ErrorAccumulatingOps2
  119. def traverse_[E, A](l: Iterable[A])(f: (A) => MiniBIOAsync[E, Unit]): MiniBIOAsync[E, Unit]
    Definition Classes
    Applicative2
  120. def uninterruptible[E, A](f: MiniBIOAsync[E, A]): MiniBIOAsync[E, A]
    Definition Classes
    WeakAsyncForMiniBIOAsyncPanic2
  121. def uninterruptibleExcept[E, A](f: (RestoreInterruption2[MiniBIOAsync]) => MiniBIOAsync[E, A]): MiniBIOAsync[E, A]

    Designate the effect uninterruptible, with the exception of regions in it that are specifically marked to restore previous interruptibility status using the provided RestoreInterruption function

    Designate the effect uninterruptible, with the exception of regions in it that are specifically marked to restore previous interruptibility status using the provided RestoreInterruption function

    Definition Classes
    WeakAsyncForMiniBIOAsyncPanic2
    Example:
    1. F.uninterruptibleExcept {
        restoreInterruption =>
          val workLoop = {
            importantWorkThatMustNotBeInterrupted() *>
            log.info("Taking a break for a second, you can interrupt me while I wait!") *>
            restoreInterruption.apply {
              F.sleep(1.second)
               .guaranteeOnInterrupt(_ => log.info("Got interrupted!"))
            } *>
            log.info("No interruptions, going back to work!") *>
            workLoop
          }
      
          workLoop
      }
    Note

    Interruptibility status will be restored to what it was in the outer region, so if the outer region was also uninterruptible, the provided RestoreInterruption will have no effect. e.g. the expression F.uninterruptible { F.uninterruptibleExcept { restore => restore(F.sleep(1.second)) } is fully uninterruptible throughout

  122. def unit: MiniBIOAsync[Nothing, Unit]
    Definition Classes
    Applicative2
  123. final def unless[E, E1](cond: MiniBIOAsync[E, Boolean])(ifFalse: => MiniBIOAsync[E1, Unit])(implicit ev: <:<[E, E1]): MiniBIOAsync[E1, Unit]
    Definition Classes
    Monad2
    Annotations
    @inline()
  124. final def unless[E](cond: Boolean)(ifFalse: => MiniBIOAsync[E, Unit]): MiniBIOAsync[E, Unit]
    Definition Classes
    Applicative2
    Annotations
    @inline()
  125. def void[E, A](r: MiniBIOAsync[E, A]): MiniBIOAsync[E, Unit]
    Definition Classes
    Functor2
  126. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  127. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  128. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  129. final def when[E, E1](cond: MiniBIOAsync[E, Boolean])(ifTrue: => MiniBIOAsync[E1, Unit])(implicit ev: <:<[E, E1]): MiniBIOAsync[E1, Unit]
    Definition Classes
    Monad2
    Annotations
    @inline()
  130. final def when[E](cond: Boolean)(ifTrue: => MiniBIOAsync[E, Unit]): MiniBIOAsync[E, Unit]
    Definition Classes
    Applicative2
    Annotations
    @inline()
  131. final def widen[E, A, A1](r: MiniBIOAsync[E, A])(implicit ev: <:<[A, A1]): MiniBIOAsync[E, A1]
    Definition Classes
    Functor2
    Annotations
    @inline()
  132. final def widenBoth[E, A, E1, A1](r: MiniBIOAsync[E, A])(implicit ev: <:<[E, E1], ev2: <:<[A, A1]): MiniBIOAsync[E1, A1]
    Definition Classes
    Bifunctor2
    Annotations
    @inline()
  133. final def widenError[E, A, E1](r: MiniBIOAsync[E, A])(implicit ev: <:<[E, E1]): MiniBIOAsync[E1, A]
    Definition Classes
    Bifunctor2
    Annotations
    @inline()
  134. final def withFilter[E, A](r: MiniBIOAsync[E, A])(predicate: (A) => Boolean)(implicit filter: WithFilter[E], pos: SourceFilePositionMaterializer): MiniBIOAsync[E, A]

    for-comprehensions sugar:

    for-comprehensions sugar:

    for {
      (1, 2) <- F.pure((2, 1))
    } yield ()

    Use widenError to for pattern matching with non-Throwable errors:

    val f = for {
      (1, 2) <- F.pure((2, 1)).widenError[Option[Unit]]
    } yield ()
    // f: F[Option[Unit], Unit] = F.fail(Some(())
    Definition Classes
    Error2
    Annotations
    @inline()
  135. def zip[E, A, B](firstOp: MiniBIOAsync[E, A], secondOp: => MiniBIOAsync[E, B]): MiniBIOAsync[E, (A, B)]
    Definition Classes
    Applicative2
  136. def zipPar[E, A, B](fa: MiniBIOAsync[E, A], fb: MiniBIOAsync[E, B]): MiniBIOAsync[E, (A, B)]

    Returns an effect that executes both effects, in parallel, combining their results into a tuple.

    Returns an effect that executes both effects, in parallel, combining their results into a tuple. If either side fails, then the other side will be interrupted.

    Definition Classes
    Parallel2
  137. def zipParLeft[E, A, B](fa: MiniBIOAsync[E, A], fb: MiniBIOAsync[E, B]): MiniBIOAsync[E, A]

    Returns an effect that executes both effects, in parallel, the left effect result is returned.

    Returns an effect that executes both effects, in parallel, the left effect result is returned. If either side fails, then the other side will be interrupted.

    Definition Classes
    Parallel2
  138. def zipParRight[E, A, B](fa: MiniBIOAsync[E, A], fb: MiniBIOAsync[E, B]): MiniBIOAsync[E, B]

    Returns an effect that executes both effects, in parallel, the right effect result is returned.

    Returns an effect that executes both effects, in parallel, the right effect result is returned. If either side fails, then the other side will be interrupted.

    Definition Classes
    Parallel2
  139. def zipWithPar[E, A, B, C](fa: MiniBIOAsync[E, A], fb: MiniBIOAsync[E, B])(f: (A, B) => C): MiniBIOAsync[E, C]

    Returns an effect that executes both effects, in parallel, combining their results with the specified f function.

    Returns an effect that executes both effects, in parallel, combining their results with the specified f function. If either side fails, then the other side will be interrupted.

    Definition Classes
    WeakAsyncForMiniBIOAsyncParallel2

Deprecated Value Members

  1. def suspend[A](effect: => MiniBIOAsync[Throwable, A]): MiniBIOAsync[Throwable, A]
    Definition Classes
    IO2
    Annotations
    @deprecated
    Deprecated

    (Since version 1.3) renamed to suspendThrowable

Inherited from WeakTemporal2[MiniBIOAsync]

Inherited from TemporalInstances

Inherited from BlockingIO2[MiniBIOAsync]

Inherited from BlockingIOInstances

Inherited from WeakAsync2[MiniBIOAsync]

Inherited from Parallel2[MiniBIOAsync]

Inherited from IO2[MiniBIOAsync]

Inherited from Panic2[MiniBIOAsync]

Inherited from PanicSyntax

Inherited from Bracket2[MiniBIOAsync]

Inherited from Error2[MiniBIOAsync]

Inherited from Monad2[MiniBIOAsync]

Inherited from Bifunctor2[MiniBIOAsync]

Inherited from Guarantee2[MiniBIOAsync]

Inherited from Applicative2[MiniBIOAsync]

Inherited from Functor2[MiniBIOAsync]

Inherited from RootBifunctor[MiniBIOAsync]

Inherited from Root

Inherited from PredefinedHelper

Inherited from DivergenceHelper

Inherited from AnyRef

Inherited from Any

Ungrouped