Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ValueStopwatch.cs
Go to the documentation of this file.
1
using
System
;
2
using
System.Diagnostics
;
3
4
namespace
Microsoft.Extensions.Internal
;
5
6
internal
struct
ValueStopwatch
7
{
8
private
static
readonly
double
TimestampToTicks
= 10000000.0 / (double)
Stopwatch
.
Frequency
;
9
10
private
long
_startTimestamp
;
11
12
public
bool
IsActive
=>
_startTimestamp
!= 0;
13
14
private
ValueStopwatch
(
long
startTimestamp)
15
{
16
_startTimestamp
= startTimestamp;
17
}
18
19
public
static
ValueStopwatch
StartNew
()
20
{
21
return
new
ValueStopwatch
(
Stopwatch
.
GetTimestamp
());
22
}
23
24
public
TimeSpan
GetElapsedTime
()
25
{
26
if
(!
IsActive
)
27
{
28
throw
new
InvalidOperationException
(
"An uninitialized, or 'default', ValueStopwatch cannot be used to get elapsed time."
);
29
}
30
long
timestamp =
Stopwatch
.
GetTimestamp
();
31
long
num = timestamp -
_startTimestamp
;
32
long
ticks = (long)(
TimestampToTicks
* (
double
)num);
33
return
new
TimeSpan
(ticks);
34
}
35
}
System.Diagnostics.Stopwatch.Frequency
static readonly long Frequency
Definition
Stopwatch.cs:13
System.Diagnostics.Stopwatch.GetTimestamp
static long GetTimestamp()
Definition
Stopwatch.cs:77
System.Diagnostics.Stopwatch
Definition
Stopwatch.cs:6
System.InvalidOperationException
Definition
InvalidOperationException.cs:9
Microsoft.Extensions.Internal
Definition
ValueStopwatch.cs:4
System.Diagnostics
Definition
AggregationManager.cs:6
System
Definition
BlockingCollection.cs:8
Microsoft.Extensions.Internal.ValueStopwatch._startTimestamp
long _startTimestamp
Definition
ValueStopwatch.cs:10
Microsoft.Extensions.Internal.ValueStopwatch.IsActive
bool IsActive
Definition
ValueStopwatch.cs:12
Microsoft.Extensions.Internal.ValueStopwatch.ValueStopwatch
ValueStopwatch(long startTimestamp)
Definition
ValueStopwatch.cs:14
Microsoft.Extensions.Internal.ValueStopwatch.TimestampToTicks
static readonly double TimestampToTicks
Definition
ValueStopwatch.cs:8
Microsoft.Extensions.Internal.ValueStopwatch.GetElapsedTime
TimeSpan GetElapsedTime()
Definition
ValueStopwatch.cs:24
Microsoft.Extensions.Internal.ValueStopwatch.StartNew
static ValueStopwatch StartNew()
Definition
ValueStopwatch.cs:19
Microsoft.Extensions.Internal.ValueStopwatch
Definition
ValueStopwatch.cs:7
System.TimeSpan
Definition
TimeSpan.cs:10
source
System.Net.Security
Microsoft.Extensions.Internal
ValueStopwatch.cs
Generated by
1.10.0