FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
dotpython/src/DotPython.Worker/WorkerResourcePolicy.cs at main · kidoz/dotpython · GitHub
kidoz
/
dotpython
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
1
Code
Issues
0
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
dotpython
/
src
/
DotPython.Worker
/
WorkerResourcePolicy.cs
Copy path
More file actions
More file actions
Latest commit
History
History
History
37 lines (29 loc) · 1.44 KB
Breadcrumbs
dotpython
/
src
/
DotPython.Worker
/
WorkerResourcePolicy.cs
Copy path
File metadata and controls
37 lines (29 loc) · 1.44 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using
DotPython
.
Protocol
;
namespace
DotPython
.
Worker
;
public
sealed
record
WorkerResourcePolicy
{
public
WorkerProtocolLimits
Limits
{
get
;
init
;
}
=
WorkerProtocolLimits
.
Default
;
public
TimeSpan
StartupTimeout
{
get
;
init
;
}
=
TimeSpan
.
FromSeconds
(
10
)
;
public
TimeSpan
ExecutionTimeout
{
get
;
init
;
}
=
TimeSpan
.
FromSeconds
(
30
)
;
public
TimeSpan
TerminationGracePeriod
{
get
;
init
;
}
=
TimeSpan
.
FromMilliseconds
(
250
)
;
public
int
MaxRequestsPerWorker
{
get
;
init
;
}
=
1_000
;
internal
void
Validate
(
)
{
ArgumentNullException
.
ThrowIfNull
(
Limits
)
;
ArgumentOutOfRangeException
.
ThrowIfNegativeOrZero
(
Limits
.
MaxMessageBytes
)
;
ArgumentOutOfRangeException
.
ThrowIfNegativeOrZero
(
Limits
.
MaxOutputBytes
)
;
ArgumentOutOfRangeException
.
ThrowIfNegativeOrZero
(
Limits
.
MaxConcurrentRequests
)
;
ArgumentOutOfRangeException
.
ThrowIfNegativeOrZero
(
Limits
.
MaxSessions
)
;
ValidateTimeout
(
StartupTimeout
,
nameof
(
StartupTimeout
)
)
;
ValidateTimeout
(
ExecutionTimeout
,
nameof
(
ExecutionTimeout
)
)
;
ValidateTimeout
(
TerminationGracePeriod
,
nameof
(
TerminationGracePeriod
)
)
;
ArgumentOutOfRangeException
.
ThrowIfNegativeOrZero
(
MaxRequestsPerWorker
)
;
}
private
static
void
ValidateTimeout
(
TimeSpan
timeout
,
string
parameterName
)
{
if
(
timeout
<=
TimeSpan
.
Zero
||
timeout
>
TimeSpan
.
FromDays
(
1
)
)
{
throw
new
ArgumentOutOfRangeException
(
parameterName
)
;
}
}
}
Back
|
FazBrowse Home
|
New Git URL