Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SerializationHeaderRecord.cs
Go to the documentation of this file.
1
using
System.Buffers.Binary
;
2
using
System.IO
;
3
4
namespace
System.Runtime.Serialization.Formatters.Binary
;
5
6
internal
sealed
class
SerializationHeaderRecord
:
IStreamable
7
{
8
internal
BinaryHeaderEnum
_binaryHeaderEnum
;
9
10
internal
int
_topId
;
11
12
internal
int
_headerId
;
13
14
internal
int
_majorVersion
;
15
16
internal
int
_minorVersion
;
17
18
internal
SerializationHeaderRecord
()
19
{
20
}
21
22
internal
SerializationHeaderRecord
(
BinaryHeaderEnum
binaryHeaderEnum
,
int
topId
,
int
headerId
,
int
majorVersion
,
int
minorVersion
)
23
{
24
_binaryHeaderEnum
=
binaryHeaderEnum
;
25
_topId
=
topId
;
26
_headerId
=
headerId
;
27
_majorVersion
=
majorVersion
;
28
_minorVersion
=
minorVersion
;
29
}
30
31
public
void
Write
(
BinaryFormatterWriter
output
)
32
{
33
_majorVersion
= 1;
34
_minorVersion
= 0;
35
output
.WriteByte((
byte
)
_binaryHeaderEnum
);
36
output
.WriteInt32(
_topId
);
37
output
.WriteInt32(
_headerId
);
38
output
.WriteInt32(1);
39
output
.WriteInt32(0);
40
}
41
42
private
static
int
GetInt32
(
byte
[]
buffer
,
int
index
)
43
{
44
return
BinaryPrimitives
.
ReadInt32LittleEndian
(
buffer
.AsSpan(
index
));
45
}
46
47
public
void
Read
(
BinaryParser
input
)
48
{
49
byte
[]
array
=
input
.ReadBytes(17);
50
if
(
array
.Length < 17)
51
{
52
throw
new
EndOfStreamException
(
System
.
SR
.
IO_EOF_ReadBeyondEOF
);
53
}
54
_majorVersion
=
GetInt32
(
array
, 9);
55
if
(
_majorVersion
> 1)
56
{
57
throw
new
SerializationException
(
System
.
SR
.
Format
(
System
.
SR
.
Serialization_InvalidFormat
,
BitConverter
.
ToString
(
array
)));
58
}
59
_binaryHeaderEnum
= (
BinaryHeaderEnum
)
array
[0];
60
_topId
=
GetInt32
(
array
, 1);
61
_headerId
=
GetInt32
(
array
, 5);
62
_minorVersion
=
GetInt32
(
array
, 13);
63
}
64
}
System.BitConverter.ToString
static string ToString(byte[] value, int startIndex, int length)
Definition
BitConverter.cs:397
System.BitConverter
Definition
BitConverter.cs:10
System.Buffers.Binary.BinaryPrimitives.ReadInt32LittleEndian
static int ReadInt32LittleEndian(ReadOnlySpan< byte > source)
Definition
BinaryPrimitives.cs:262
System.Buffers.Binary.BinaryPrimitives
Definition
BinaryPrimitives.cs:8
System.IO.EndOfStreamException
Definition
EndOfStreamException.cs:9
System.Runtime.Serialization.Formatters.Binary.BinaryFormatterWriter
Definition
BinaryFormatterWriter.cs:10
System.Runtime.Serialization.Formatters.Binary.BinaryParser
Definition
BinaryParser.cs:10
System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.Read
void Read(BinaryParser input)
Definition
SerializationHeaderRecord.cs:47
System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.GetInt32
static int GetInt32(byte[] buffer, int index)
Definition
SerializationHeaderRecord.cs:42
System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord._majorVersion
int _majorVersion
Definition
SerializationHeaderRecord.cs:14
System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord._binaryHeaderEnum
BinaryHeaderEnum _binaryHeaderEnum
Definition
SerializationHeaderRecord.cs:8
System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.SerializationHeaderRecord
SerializationHeaderRecord()
Definition
SerializationHeaderRecord.cs:18
System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord._headerId
int _headerId
Definition
SerializationHeaderRecord.cs:12
System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord._topId
int _topId
Definition
SerializationHeaderRecord.cs:10
System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.SerializationHeaderRecord
SerializationHeaderRecord(BinaryHeaderEnum binaryHeaderEnum, int topId, int headerId, int majorVersion, int minorVersion)
Definition
SerializationHeaderRecord.cs:22
System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord._minorVersion
int _minorVersion
Definition
SerializationHeaderRecord.cs:16
System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.Write
void Write(BinaryFormatterWriter output)
Definition
SerializationHeaderRecord.cs:31
System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord
Definition
SerializationHeaderRecord.cs:7
System.Runtime.Serialization.SerializationException
Definition
SerializationException.cs:8
System.SR.IO_EOF_ReadBeyondEOF
static string IO_EOF_ReadBeyondEOF
Definition
SR.cs:56
System.SR.Serialization_InvalidFormat
static string Serialization_InvalidFormat
Definition
SR.cs:104
System.SR.Format
static string Format(string resourceFormat, object p1)
Definition
SR.cs:118
System.SR
Definition
SR.cs:7
System.Runtime.Serialization.Formatters.Binary.IStreamable
Definition
IStreamable.cs:4
System.Buffers.Binary
Definition
BinaryPrimitives.cs:5
System.IO
Definition
ConsoleStream.cs:3
System.Runtime.Serialization.Formatters.Binary.BinaryHeaderEnum
BinaryHeaderEnum
Definition
BinaryHeaderEnum.cs:4
System.Runtime.Serialization.Formatters.Binary
Definition
BinaryArray.cs:1
System.Runtime.Serialization.CollectionKind.Dictionary
@ Dictionary
System.ExceptionArgument.index
@ index
System.ExceptionArgument.buffer
@ buffer
System.ExceptionArgument.input
@ input
System.ExceptionArgument.array
@ array
System
Definition
BlockingCollection.cs:8
source
System.Runtime.Serialization.Formatters
System.Runtime.Serialization.Formatters.Binary
SerializationHeaderRecord.cs
Generated by
1.10.0