Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
IntegerDecoder.cs
Go to the documentation of this file.
1
using
System.Numerics
;
2
3
namespace
System.Net.Http.HPack
;
4
5
internal
struct
IntegerDecoder
6
{
7
private
int
_i
;
8
9
private
int
_m
;
10
11
public
bool
BeginTryDecode
(
byte
b,
int
prefixLength, out
int
result)
12
{
13
if
(b < (1 << prefixLength) - 1)
14
{
15
result = b;
16
return
true
;
17
}
18
_i
= b;
19
_m
= 0;
20
result = 0;
21
return
false
;
22
}
23
24
public
bool
TryDecode
(
byte
b, out
int
result)
25
{
26
if
(
BitOperations
.
LeadingZeroCount
(b) <=
_m
)
27
{
28
throw
new
HPackDecodingException
(
System
.
SR
.
net_http_hpack_bad_integer
);
29
}
30
_i
+= (b & 0x7F) <<
_m
;
31
if
(
_i
< 0)
32
{
33
throw
new
HPackDecodingException
(
System
.
SR
.
net_http_hpack_bad_integer
);
34
}
35
_m
+= 7;
36
if
((b & 0x80) == 0)
37
{
38
if
(b == 0 &&
_m
/ 7 > 1)
39
{
40
throw
new
HPackDecodingException
(
System
.
SR
.
net_http_hpack_bad_integer
);
41
}
42
result =
_i
;
43
return
true
;
44
}
45
result = 0;
46
return
false
;
47
}
48
}
System.Net.Http.HPack.HPackDecodingException
Definition
HPackDecodingException.cs:7
System.Numerics.BitOperations.LeadingZeroCount
static int LeadingZeroCount(uint value)
Definition
BitOperations.cs:131
System.Numerics.BitOperations
Definition
BitOperations.cs:10
System.SR.net_http_hpack_bad_integer
static string net_http_hpack_bad_integer
Definition
SR.cs:166
System.SR
Definition
SR.cs:7
System.Net.Http.HPack
Definition
DynamicTable.cs:1
System.Numerics
Definition
BitOperations.cs:7
System
Definition
BlockingCollection.cs:8
System.Net.Http.HPack.IntegerDecoder.BeginTryDecode
bool BeginTryDecode(byte b, int prefixLength, out int result)
Definition
IntegerDecoder.cs:11
System.Net.Http.HPack.IntegerDecoder.TryDecode
bool TryDecode(byte b, out int result)
Definition
IntegerDecoder.cs:24
System.Net.Http.HPack.IntegerDecoder._m
int _m
Definition
IntegerDecoder.cs:9
System.Net.Http.HPack.IntegerDecoder._i
int _i
Definition
IntegerDecoder.cs:7
System.Net.Http.HPack.IntegerDecoder
Definition
IntegerDecoder.cs:6
source
System.Net.Http
System.Net.Http.HPack
IntegerDecoder.cs
Generated by
1.10.0