Beispiel #1
0
        private bool TryEnableStats()
        {
            try
            {
                // Ignoring bandwidth measurement for loopbacks as it is meaningless anyway
                if (this.TargetIP == "127.0.0.1" || this.TargetIP == "::1")
                {
                    return(false);
                }

                if (this.rawConnection is MIB_TCPROW_OWNER_MODULE)
                {
                    rawrow = ((MIB_TCPROW_OWNER_MODULE)this.rawConnection).ToTCPRow();
                    TCPHelper.EnsureStatsAreEnabled((TCPHelper.MIB_TCPROW)rawrow);
                }
                else if (this.rawConnection is MIB_TCP6ROW_OWNER_MODULE)
                {
                    rawrow = ((MIB_TCP6ROW_OWNER_MODULE)this.rawConnection).ToTCPRow();
                    TCP6Helper.EnsureStatsAreEnabled((TCP6Helper.MIB_TCP6ROW)rawrow);
                }

                statsEnabled = true;
            }
            catch
            {
                InboundBandwidth  = 0;
                OutboundBandwidth = 0;
                IsAccessDenied    = true;
            }

            return(false);
        }
Beispiel #2
0
 private void EnableStats()
 {
     try
     {
         if (this.rawConnection is TCPHelper.MIB_TCPROW_OWNER_MODULE)
         {
             rawrow = ((TCPHelper.MIB_TCPROW_OWNER_MODULE) this.rawConnection).ToTCPRow();
             TCPHelper.EnsureStatsAreEnabled((TCPHelper.MIB_TCPROW)rawrow);
         }
         else
         {
             rawrow = ((TCP6Helper.MIB_TCP6ROW_OWNER_MODULE) this.rawConnection).ToTCPRow();
             TCP6Helper.EnsureStatsAreEnabled((TCP6Helper.MIB_TCP6ROW)rawrow);
         }
     }
     catch
     {
         IsAccessDenied = true;
     }
 }
Beispiel #3
0
        public static IEnumerable <I_OWNER_MODULE> GetAllConnections(bool tcpOnly = false)
        {
            var ret = TCPHelper.GetAllTCPConnections();

            if (!tcpOnly)
            {
                ret = ret.Concat(UDPHelper.GetAllUDPConnections());
            }

            if (Socket.OSSupportsIPv6)
            {
                ret = ret.Concat(TCP6Helper.GetAllTCP6Connections());
                if (!tcpOnly)
                {
                    ret = ret.Concat(UDP6Helper.GetAllUDP6Connections());
                }
            }

            return(ret);
        }
Beispiel #4
0
        internal TCPHelper.TCP_ESTATS_BANDWIDTH_ROD_v0 EstimateBandwidth()
        {
            if (rawrow != null && !IsAccessDenied)
            {
                //var x = DateTime.Now.Ticks;

                return(rawrow is TCPHelper.MIB_TCPROW ? TCPHelper.GetTCPBandwidth((TCPHelper.MIB_TCPROW)rawrow) : TCP6Helper.GetTCPBandwidth((TCP6Helper.MIB_TCP6ROW)rawrow));
                //this.PointsOut.Add(new Point(x, ret.OutboundBandwidth));
                //this.PointsIn.Add(new Point(x, ret.InboundBandwidth));

                //return ret;
            }
            else
            {
                return(new TCPHelper.TCP_ESTATS_BANDWIDTH_ROD_v0 {
                    InboundBandwidth = 0, OutboundBandwidth = 0
                });
            }
        }