Golang C.pcap_stats类(方法)实例源码

下面列出了Golang C.pcap_stats 类(方法)源码代码实例,从而了解它的用法。

作者:doncker    项目:gopacke   
// Stats returns statistics on the underlying pcap handle.
func (p *Handle) Stats() (stat *Stats, err error) {
	var cstats _Ctype_struct_pcap_stat
	if -1 == C.pcap_stats(p.cptr, &cstats) {
		return nil, p.Error()
	}
	return &Stats{
		PacketsReceived:  int(cstats.ps_recv),
		PacketsDropped:   int(cstats.ps_drop),
		PacketsIfDropped: int(cstats.ps_ifdrop),
	}, nil
}

作者:ThomsonReutersEiko    项目:pca   
func (p *Pcap) Getstats() (stat *Stat, err error) {
	var cstats _Ctype_struct_pcap_stat
	if -1 == C.pcap_stats(p.cptr, &cstats) {
		return nil, p.Geterror()
	}
	stats := new(Stat)
	stats.PacketsReceived = uint32(cstats.ps_recv)
	stats.PacketsDropped = uint32(cstats.ps_drop)
	stats.PacketsIfDropped = uint32(cstats.ps_ifdrop)

	return stats, nil
}

作者:alvinle    项目:gopca   
func (p *Pcap) Getstats() (stats *Stats) {
	var cstats C.struct_pcap_stat
	if C.pcap_stats(p.cptr, &cstats) == -1 {
		return
	}

	stats = new(Stats)
	stats.Received = uint32(cstats.ps_recv)
	stats.Dropped = uint32(cstats.ps_drop)
	stats.IfDropped = uint32(cstats.ps_ifdrop)

	return
}

作者:pot    项目:golibpca   
// Getstats returns a filled in Stat struct.
func (p *Pcap) Getstats() (*stat.Stat, error) {
	var cs C.struct_pcap_stat
	res := C.pcap_stats(p.cptr, &cs)
	if res == C.PCAP_ERROR {
		return nil, p.GetErr()
	}

	s := &stat.Stat{
		Captured:  p.pktCnt,
		Received:  uint32(cs.ps_recv),
		Dropped:   uint32(cs.ps_drop),
		IfDropped: uint32(cs.ps_ifdrop),
	}
	return s, nil
}


问题


面经


文章

微信
公众号

扫码关注公众号