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
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new Scope()
Abstract Value Members
- 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.
- 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.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Scope[F], B)
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (Scope[F]) => Boolean, msg: => Any): Scope[F]
- def ensuring(cond: (Scope[F]) => Boolean): Scope[F]
- def ensuring(cond: Boolean, msg: => Any): Scope[F]
- def ensuring(cond: Boolean): Scope[F]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def formatted(fmtstr: String): String
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()
Deprecated Value Members
- def →[B](y: B): (Scope[F], B)
- Implicit
- This member is added by an implicit conversion from Scope[F] toArrowAssoc[Scope[F]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.