Mirror Networking
Mirror.MessagePacking Class Reference

Static Public Member Functions

static ushort GetId< T > ()
 
static void Pack< T > (T message, NetworkWriter writer)
 
static bool Unpack (NetworkReader messageReader, out ushort msgType)
 

Static Public Attributes

const int HeaderSize = sizeof(ushort)
 

Properties

static int MaxContentSize [get]
 

Detailed Description

Definition at line 12 of file MessagePacking.cs.

Member Function Documentation

◆ GetId< T >()

static ushort Mirror.MessagePacking.GetId< T > ( )
static
Type Constraints
T :struct 
T :NetworkMessage 
T :ushort 
T :typeof 
T :T 
T :FullName.GetStableHashCode() 
T :xFFFF 

◆ Pack< T >()

static void Mirror.MessagePacking.Pack< T > ( message,
NetworkWriter  writer 
)
static
Type Constraints
T :struct 
T :NetworkMessage 

Definition at line 40 of file MessagePacking.cs.

41 : struct, NetworkMessage
42 {
43 ushort msgType = GetId<T>();
44 writer.WriteUShort(msgType);
45
46 // serialize message into writer
47 writer.Write(message);
48 }

◆ Unpack()

static bool Mirror.MessagePacking.Unpack ( NetworkReader  messageReader,
out ushort  msgType 
)
static

Definition at line 55 of file MessagePacking.cs.

56 {
57 // read message type
58 try
59 {
60 msgType = messageReader.ReadUShort();
61 return true;
62 }
63 catch (System.IO.EndOfStreamException)
64 {
65 msgType = 0;
66 return false;
67 }
68 }

Member Data Documentation

◆ HeaderSize

const int Mirror.MessagePacking.HeaderSize = sizeof(ushort)
static

Definition at line 15 of file MessagePacking.cs.

Property Documentation

◆ MaxContentSize

int Mirror.MessagePacking.MaxContentSize
staticget

Definition at line 21 of file MessagePacking.cs.

22 {
23 [MethodImpl(MethodImplOptions.AggressiveInlining)]
24 get => Transport.activeTransport.GetMaxPacketSize()
25 - HeaderSize
26 - Batcher.HeaderSize;
27 }