Exemple #1
0
        public void Dump(IndentTextWriter writer)
        {
            var prefix = (Definition == null ? "UNDEFINED " : "");
            var length = Packet.Length - Packet.HeaderSize;

            writer.WriteLine(TimeStampcreator(Timestamp) + string.Format(prefix + Sender + " Packet #{0} ({1}), Length: {2} bytes",
                                                                         Packet.PacketId.RawId, Packet.PacketId, length));
            writer.IndentLevel++;
            if (Definition != null)
            {
                //Definition.Structure.Render(this, writer);
                m_parsedPacket.RenderTo(writer);
            }

            // display the remainder as hexadecimal byte-string
            var remainderLength = Packet.Length - Packet.Position;

            if (remainderLength > 0)
            {
                var byteStr = new List <string>();
                while (Packet.Position < Packet.Length)
                {
                    byteStr.Add(string.Format("{0:X2}", Packet.ReadByte()));
                }
                writer.WriteLine("Remainder (" + remainderLength + " bytes): " + byteStr.ToString(" "));
            }
            writer.IndentLevel--;
        }