Class: Concurrent::Cancellation
- Inherits:
-
Synchronization::Object
- Object
- Synchronization::Object
- Concurrent::Cancellation
- Defined in:
- lib/concurrent/edge/cancellation.rb
Overview
Provides tools for cooperative cancellation. Inspired by https://msdn.microsoft.com/en-us/library/dd537607(v=vs.110).aspx
Defined Under Namespace
Classes: Token
Class Method Summary (collapse)
-
+ (Array(Cancellation, Cancellation::Token)) create(resolvable_future_or_event = Promises.resolvable_event, *resolve_args)
Creates the cancellation object.
Instance Method Summary (collapse)
-
- (true, false) cancel(raise_on_repeated_call = true)
Cancel this cancellation.
-
- (true, false) canceled?
Is the cancellation cancelled?.
-
- (String) to_s
(also: #inspect)
Short string representation.
-
- (Token) token
Returns the token associated with the cancellation.
Class Method Details
+ (Array(Cancellation, Cancellation::Token)) create(resolvable_future_or_event = Promises.resolvable_event, *resolve_args)
Creates the cancellation object. Returns both the cancellation and the token for convenience.
28 29 30 31 |
# File 'lib/concurrent/edge/cancellation.rb', line 28 def self.create(resolvable_future_or_event = Promises.resolvable_event, *resolve_args) cancellation = new(resolvable_future_or_event, *resolve_args) [cancellation, cancellation.token] end |
Instance Method Details
- (true, false) cancel(raise_on_repeated_call = true)
Cancel this cancellation. All executions depending on the token will cooperatively stop.
44 45 46 |
# File 'lib/concurrent/edge/cancellation.rb', line 44 def cancel(raise_on_repeated_call = true) !!@Cancel.resolve(*@ResolveArgs, raise_on_repeated_call) end |
- (true, false) canceled?
Is the cancellation cancelled?
50 51 52 |
# File 'lib/concurrent/edge/cancellation.rb', line 50 def canceled? @Cancel.resolved? end |
- (String) to_s Also known as: inspect
Short string representation.
56 57 58 |
# File 'lib/concurrent/edge/cancellation.rb', line 56 def to_s format '<#%s:0x%x canceled:%s>', self.class, object_id << 1, canceled? end |
- (Token) token
Returns the token associated with the cancellation.
37 38 39 |
# File 'lib/concurrent/edge/cancellation.rb', line 37 def token @Token end |