105 lines
2.1 KiB
C#
105 lines
2.1 KiB
C#
|
using MessagePack;
|
|||
|
|
|||
|
namespace AscNet.PcapParser
|
|||
|
{
|
|||
|
[MessagePackObject(false)]
|
|||
|
public class Packet
|
|||
|
{
|
|||
|
[Key(0)]
|
|||
|
public int No;
|
|||
|
|
|||
|
[Key(1)]
|
|||
|
public ContentType Type;
|
|||
|
|
|||
|
[Key(2)]
|
|||
|
public byte[] Content;
|
|||
|
|
|||
|
public enum ContentType
|
|||
|
{
|
|||
|
Request,
|
|||
|
Response,
|
|||
|
Push,
|
|||
|
Exception
|
|||
|
}
|
|||
|
|
|||
|
[MessagePackObject(false)]
|
|||
|
public class Request
|
|||
|
{
|
|||
|
[Key(0)]
|
|||
|
public int Id;
|
|||
|
|
|||
|
[Key(1)]
|
|||
|
public string Name;
|
|||
|
|
|||
|
[Key(2)]
|
|||
|
public byte[] Content;
|
|||
|
|
|||
|
public T Deserialize<T>()
|
|||
|
{
|
|||
|
return MessagePackSerializer.Deserialize<T>(Content);
|
|||
|
}
|
|||
|
|
|||
|
public object Deserialize()
|
|||
|
{
|
|||
|
return MessagePackSerializer.Typeless.Deserialize(Content);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
[MessagePackObject(false)]
|
|||
|
public class Response
|
|||
|
{
|
|||
|
[Key(0)]
|
|||
|
public int Id;
|
|||
|
|
|||
|
[Key(1)]
|
|||
|
public string Name;
|
|||
|
|
|||
|
[Key(2)]
|
|||
|
public byte[] Content;
|
|||
|
|
|||
|
public T Deserialize<T>()
|
|||
|
{
|
|||
|
return MessagePackSerializer.Deserialize<T>(Content);
|
|||
|
}
|
|||
|
|
|||
|
public object Deserialize()
|
|||
|
{
|
|||
|
return MessagePackSerializer.Typeless.Deserialize(Content);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
[MessagePackObject(false)]
|
|||
|
public class Push
|
|||
|
{
|
|||
|
[Key(0)]
|
|||
|
public string Name;
|
|||
|
|
|||
|
[Key(1)]
|
|||
|
public byte[] Content;
|
|||
|
|
|||
|
public T Deserialize<T>()
|
|||
|
{
|
|||
|
return MessagePackSerializer.Deserialize<T>(Content);
|
|||
|
}
|
|||
|
|
|||
|
public object Deserialize()
|
|||
|
{
|
|||
|
return MessagePackSerializer.Typeless.Deserialize(Content);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
[MessagePackObject(false)]
|
|||
|
public class Exception
|
|||
|
{
|
|||
|
[Key(0)]
|
|||
|
public int Id;
|
|||
|
|
|||
|
[Key(1)]
|
|||
|
public int Code;
|
|||
|
|
|||
|
[Key(2)]
|
|||
|
public string Message;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|