Struct Timeout
Helps to compute timeout for asynchronous operations.
Inherited Members
Namespace: DotNext.Threading
Assembly: DotNext.dll
Syntax
public readonly struct Timeout
Constructors
| Edit this page View SourceTimeout(TimeSpan)
Constructs a new timeout control object.
Declaration
public Timeout(TimeSpan timeout)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | timeout | Max duration of operation. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException |
|
Timeout(TimeSpan, Timestamp)
Constructs a new timeout control object.
Declaration
public Timeout(TimeSpan timeout, Timestamp startedAt)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | timeout | Max duration of operation. |
Timestamp | startedAt | The point in time when operation was started. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException |
|
Timeout(TimeSpan, TimeProvider)
Constructs a new timeout control object.
Declaration
public Timeout(TimeSpan timeout, TimeProvider provider)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | timeout | Max duration of operation. |
TimeProvider | provider | Time provider. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException |
|
Fields
| Edit this page View SourceInfiniteTicks
Represents a number of ticks in InfiniteTimeSpan.
Declaration
public const long InfiniteTicks = -10000
Field Value
Type | Description |
---|---|
long |
MaxTimeoutParameterTicks
Represents maximum possible timeout value, in ticks, that can be passed to some methods such as Delay(TimeSpan) or CancelAfter(TimeSpan).
Declaration
public const long MaxTimeoutParameterTicks = 21474836470000
Field Value
Type | Description |
---|---|
long |
Properties
| Edit this page View SourceExpired
Gets expired timeout.
Declaration
public static Timeout Expired { get; }
Property Value
Type | Description |
---|---|
Timeout |
Infinite
Gets infinite timeout.
Declaration
public static Timeout Infinite { get; }
Property Value
Type | Description |
---|---|
Timeout |
IsExpired
Indicates that timeout is occurred.
Declaration
public bool IsExpired { get; }
Property Value
Type | Description |
---|---|
bool |
IsInfinite
Determines whether this timeout is infinite.
Declaration
public bool IsInfinite { get; }
Property Value
Type | Description |
---|---|
bool |
Value
Gets value of this timeout.
Declaration
public TimeSpan Value { get; }
Property Value
Type | Description |
---|---|
TimeSpan |
Methods
| Edit this page View SourceThrowIfExpired()
Throws TimeoutException if timeout occurs.
Declaration
public void ThrowIfExpired()
Exceptions
Type | Condition |
---|---|
TimeoutException | Timeout occurred. |
ThrowIfExpired(TimeProvider)
Throws TimeoutException if timeout occurs.
Declaration
public void ThrowIfExpired(TimeProvider provider)
Parameters
Type | Name | Description |
---|---|---|
TimeProvider | provider |
Exceptions
Type | Condition |
---|---|
TimeoutException | Timeout occurred. |
ThrowIfExpired(TimeProvider, out TimeSpan)
Throws TimeoutException if timeout occurs.
Declaration
public void ThrowIfExpired(TimeProvider provider, out TimeSpan remainingTime)
Parameters
Type | Name | Description |
---|---|---|
TimeProvider | provider | Time provider. |
TimeSpan | remainingTime | The remaining time before timeout. |
Exceptions
Type | Condition |
---|---|
TimeoutException | Timeout occurred. |
ThrowIfExpired(out TimeSpan)
Throws TimeoutException if timeout occurs.
Declaration
public void ThrowIfExpired(out TimeSpan remainingTime)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | remainingTime | The remaining time before timeout. |
Exceptions
Type | Condition |
---|---|
TimeoutException | Timeout occurred. |
TryGetRemainingTime(TimeProvider, out TimeSpan)
Gets the remaining time.
Declaration
public bool TryGetRemainingTime(TimeProvider provider, out TimeSpan remainingTime)
Parameters
Type | Name | Description |
---|---|---|
TimeProvider | provider | Time provider. |
TimeSpan | remainingTime | The remaining time before timeout. |
Returns
Type | Description |
---|---|
bool |
TryGetRemainingTime(out TimeSpan)
Gets the remaining time.
Declaration
public bool TryGetRemainingTime(out TimeSpan remainingTime)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | remainingTime | The remaining time before timeout. |
Returns
Type | Description |
---|---|
bool |
Validate(TimeSpan, string?)
Validates the timeout.
Declaration
public static void Validate(TimeSpan timeout, string? parameterName = null)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | timeout | The timeout value. |
string | parameterName | The name of the timeout parameter passed by the caller. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException |
|
Operators
| Edit this page View Sourceoperator false(in Timeout)
Indicates that timeout is not reached.
Declaration
public static bool operator false(in Timeout timeout)
Parameters
Type | Name | Description |
---|---|---|
Timeout | timeout | Timeout control object. |
Returns
Type | Description |
---|---|
bool |
implicit operator TimeSpan(in Timeout)
Extracts original timeout value from this object.
Declaration
public static implicit operator TimeSpan(in Timeout timeout)
Parameters
Type | Name | Description |
---|---|---|
Timeout | timeout | Timeout control object. |
Returns
Type | Description |
---|---|
TimeSpan | The original timeout value. |
operator true(in Timeout)
Indicates that timeout is reached.
Declaration
public static bool operator true(in Timeout timeout)
Parameters
Type | Name | Description |
---|---|---|
Timeout | timeout | Timeout control object. |
Returns
Type | Description |
---|---|
bool |