Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
NetPacket.cs
Go to the documentation of this file.
1
using
System.IO
;
2
using
Terraria.DataStructures
;
3
4
namespace
Terraria.Net
;
5
6
public
struct
NetPacket
7
{
8
private
const
int
HEADER_SIZE
= 5;
9
10
public
readonly ushort
Id
;
11
12
public
readonly
CachedBuffer
Buffer
;
13
14
public
int
Length
{
get
;
private
set
; }
15
16
public
BinaryWriter
Writer =>
Buffer
.Writer;
17
18
public
BinaryReader
Reader =>
Buffer
.Reader;
19
20
public
NetPacket
(ushort
id
,
int
size)
21
{
22
this
=
default
(
NetPacket
);
23
Id
= id;
24
Buffer
=
BufferPool
.
Request
(size + 5);
25
Length
= size + 5;
26
Writer.Write((ushort)(size + 5));
27
Writer.Write((
byte
)82);
28
Writer.Write(
id
);
29
}
30
31
public
void
Recycle
()
32
{
33
Buffer
.Recycle();
34
}
35
36
public
void
ShrinkToFit
()
37
{
38
if
(
Length
!= (
int
)Writer.BaseStream.Position)
39
{
40
Length
= (int)Writer.BaseStream.Position;
41
Writer.Seek(0,
SeekOrigin
.Begin);
42
Writer.Write((ushort)
Length
);
43
Writer.Seek(
Length
,
SeekOrigin
.Begin);
44
}
45
}
46
}
System.Buffer
Definition
Buffer.cs:8
System.IO.BinaryReader
Definition
BinaryReader.cs:8
System.IO.BinaryWriter
Definition
BinaryWriter.cs:10
Terraria.DataStructures.BufferPool.Request
static CachedBuffer Request(int size)
Definition
BufferPool.cs:22
Terraria.DataStructures.BufferPool
Definition
BufferPool.cs:7
Terraria.DataStructures.CachedBuffer
Definition
CachedBuffer.cs:6
System.IO.SeekOrigin
SeekOrigin
Definition
SeekOrigin.cs:4
System.IO
Definition
ConsoleStream.cs:3
Terraria.DataStructures
Definition
AEntitySource_OnHit.cs:1
Terraria.Net
Definition
ISocket.cs:1
Terraria.Net.NetPacket.ShrinkToFit
void ShrinkToFit()
Definition
NetPacket.cs:36
Terraria.Net.NetPacket.NetPacket
NetPacket(ushort id, int size)
Definition
NetPacket.cs:20
Terraria.Net.NetPacket.Buffer
readonly CachedBuffer Buffer
Definition
NetPacket.cs:12
Terraria.Net.NetPacket.Length
int Length
Definition
NetPacket.cs:14
Terraria.Net.NetPacket.Id
readonly ushort Id
Definition
NetPacket.cs:10
Terraria.Net.NetPacket.HEADER_SIZE
const int HEADER_SIZE
Definition
NetPacket.cs:8
Terraria.Net.NetPacket.Recycle
void Recycle()
Definition
NetPacket.cs:31
Terraria.Net.NetPacket
Definition
NetPacket.cs:7
source
Terraria.Net
NetPacket.cs
Generated by
1.10.0