001    package net.minecraft.network.packet;
002    
003    import java.util.HashMap;
004    import java.util.Map;
005    
006    public class PacketCount
007    {
008        /** If false, countPacket does nothing */
009        public static boolean allowCounting = true;
010    
011        /** A count of the total number of each packet sent grouped by IDs. */
012        private static final Map packetCountForID = new HashMap();
013    
014        /** A count of the total size of each packet sent grouped by IDs. */
015        private static final Map sizeCountForID = new HashMap();
016    
017        /** Used to make threads queue to add packets */
018        private static final Object lock = new Object();
019    
020        public static void countPacket(int par0, long par1)
021        {
022            if (allowCounting)
023            {
024                Object var3 = lock;
025    
026                synchronized (lock)
027                {
028                    if (packetCountForID.containsKey(Integer.valueOf(par0)))
029                    {
030                        packetCountForID.put(Integer.valueOf(par0), Long.valueOf(((Long)packetCountForID.get(Integer.valueOf(par0))).longValue() + 1L));
031                        sizeCountForID.put(Integer.valueOf(par0), Long.valueOf(((Long)sizeCountForID.get(Integer.valueOf(par0))).longValue() + par1));
032                    }
033                    else
034                    {
035                        packetCountForID.put(Integer.valueOf(par0), Long.valueOf(1L));
036                        sizeCountForID.put(Integer.valueOf(par0), Long.valueOf(par1));
037                    }
038                }
039            }
040        }
041    }