示例#1
0
        public static void ParsePacket(ParsablePacketInfo info, IndentTextWriter writer)
        {
            PacketAnalyzer.Dump(info, writer);
            writer.WriteLine();

            ((IDisposable)info.Packet).Dispose();
        }
示例#2
0
        public static void DumpPacket(RealmPacketIn packet, PacketSender sender, bool copy, IndentTextWriter writer)
        {
            lock (writer)
            {
                try
                {
                    if (copy)
                    {
                        using (var pkt = packet.Copy())
                        {
                            PacketAnalyzer.Dump(new ParsablePacketInfo(pkt, sender, DateTime.Now), writer);
                        }
                    }
                    else
                    {
                        PacketAnalyzer.Dump(new ParsablePacketInfo(packet, sender, DateTime.Now), writer);
                    }
                }
                catch (Exception e)
                {
                    LogUtil.ErrorException(e, "Unable to parse/render packet " + packet);

                    writer.IndentLevel = 0;
                    writer.Write(packet.ToHexDump());
                }
            }
        }