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
- 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
-
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( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- 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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.