Handler & Payload Registry
Register Payload
/// <summary>
/// Operation serialized/deserialized using build-in serializer
/// </summary>
public class PingOperation
{
private const ushort MsgId = (ushort)MessageId.Ping;
// properties
public int pingCount;
public static void Register()
{
FN.RegisterPayload((ushort)MsgId, Serialize, Deserialize);
}
public static object Deserialize(ArraySegment<byte> buffer)
{
var data = BitBufferPool.GetInstance();
data.FromArray(buffer);
var _payload = Acquire(); // release it after use [see PingCountHandler.cs ln 21]
_payload.pingCount = data.ReadInt();
data.Clear();
return _payload;
}
public static ArraySegment<byte> Serialize(object pingOperation)
{
var op = pingOperation as PingOperation;
var data = BitBufferPool.GetInstance();
data.Clear();
data.AddInt(op.pingCount);
return data.ToArray();
}Register Handler
Last updated