private async Task WriteTag(Tag tag)
{
byte[] header=new byte[11];
header[0] = tag.Type;
header[1] = (byte)(tag.PacketSize >> 16);
header[2] = (byte)((tag.PacketSize >> 8) & 0xFF);
header[3] = (byte) (tag.PacketSize & 0xFF);
header[4] = (byte)((tag.TimeStamp >> 16) & 0xFF);
header[5] = (byte)((tag.TimeStamp >> 8) & 0xFF);
header[6] = (byte)(tag.TimeStamp & 0xFF);
header[7] = (byte)(tag.TimeStamp >>24);
Array.Copy(tag.Remainder, 0, header, 8, 3);
byte[] tsize = BitConverter.GetBytes(tag.TotalSize);
Array.Reverse(tsize);
await writeStream.WriteAsync(header, 0, 11);
await writeStream.WriteAsync(tag.Packet, 0, tag.PacketSize);
await writeStream.WriteAsync(tsize, 0, 4);
}
private async Task ProcessTag(Tag tag)