private void ParseMessage(byte[] packet)
{
var frameData = new FrameData();
frameData.FrameEvents = new List<FrameEvent>();
using (var stream = new MemoryStream(packet))
using (var reader = new BinaryReader(stream))
{
frameData.StartTime = reader.ReadInt64();
frameData.EndTime = reader.ReadInt64();
var numEvents = reader.ReadInt32();
for (var i = 0; i < numEvents; i++)
{
var frameEvent = new FrameEvent {CounterName = reader.ReadString(), FrameTime = reader.ReadSingle()};
frameData.FrameEvents.Add(frameEvent);
}
}
OnFrameReceived(frameData);
}