public static IConnectionStatistics GetConnectionStatistics(RakNetConnection connection)
            {
                var result = new RakNetConnectionStatistics();

                using (var stats = connection._rakPeer.GetStatistics(connection._rakPeer.GetSystemAddressFromGuid(connection._guid)))
                {
                    result.PacketLossRate = stats.packetlossLastSecond;
                    result.BytesPerSecondLimitationType = stats.isLimitedByOutgoingBandwidthLimit ? BPSLimitationType.OutgoingBandwidth : (stats.isLimitedByCongestionControl ? BPSLimitationType.CongestionControl : BPSLimitationType.None);
                    result.BytesPerSecondLimit          = (long)(stats.isLimitedByOutgoingBandwidthLimit ? stats.BPSLimitByOutgoingBandwidthLimit : stats.BPSLimitByCongestionControl);
                    result._queuedBytes   = stats.bytesInSendBuffer.ToArray();
                    result._queuedPackets = stats.messageInSendBuffer.ToArray();
                }

                return(result);
            }
 public IConnectionStatistics GetConnectionStatistics()
 {
     return(RakNetConnectionStatistics.GetConnectionStatistics(this));
 }