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); }
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; } }
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); }
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 }); } }