abstract class Scope[F[_]] extends AnyRef
Represents a period of stream execution in which resources are acquired and released.
Note: this type is generally used to implement low-level actions that manipulate resource lifetimes and hence, isn't generally used by user-level code.
- Source
- Scope.scala
- Alphabetic
- By Inheritance
- Scope
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Scope()
Abstract Value Members
- abstract def lease: F[Option[Lease[F]]]
Leases the resources of this scope until the returned lease is cancelled.
Leases the resources of this scope until the returned lease is cancelled.
Note that this leases all resources in this scope, resources in all parent scopes (up to root) and resources of all child scopes.
None
is returned if this scope is already closed. Otherwise a lease is returned, which must be cancelled. Upon cancellation, resource finalizers may be run, depending on the state of the owning scopes.Resources may be finalized during the execution of this method and before the lease has been acquired for a resource. In such an event, the already finalized resource won't be leased. As such, it is important to call
lease
only when all resources are known to be non-finalized / non-finalizing.When the lease is returned, all resources available at the time
lease
was called have been successfully leased. - abstract def interrupt(cause: Either[Throwable, Unit]): F[Unit]
Interrupts evaluation of the current scope.
Interrupts evaluation of the current scope. Only scopes previously indicated with Stream.interruptScope may be interrupted. For other scopes this will fail.
Interruption is final and may take two forms:
When invoked on right side, that will interrupt only current scope evaluation, and will resume when control is given to next scope.
When invoked on left side, then this will inject given throwable like it will be caused by stream evaluation, and then, without any error handling the whole stream will fail with supplied throwable.
- Annotations
- @deprecated
- Deprecated
(Since version 2.4.6) Unsound when used with translateInterruptible - use Stream.interruptWhen instead
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def leaseOrError(implicit F: MonadError[F, Throwable]): F[Lease[F]]
Like lease, but fails with an error if the scope is closed.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated