|
- package aoiprxkit
-
- import "sync/atomic"
-
- type Stats struct {
- PacketsReceived uint64 `json:"packetsReceived"`
- PacketsParsed uint64 `json:"packetsParsed"`
- PacketsDelivered uint64 `json:"packetsDelivered"`
- PacketsLateDrop uint64 `json:"packetsLateDrop"`
- PacketsGapLoss uint64 `json:"packetsGapLoss"`
- PacketsWrongPT uint64 `json:"packetsWrongPayloadType"`
- PacketsShort uint64 `json:"packetsTooShort"`
- JitterReorders uint64 `json:"jitterReorders"`
- DecodeErrors uint64 `json:"decodeErrors"`
- SamplesDelivered uint64 `json:"samplesDelivered"`
- FramesDelivered uint64 `json:"framesDelivered"`
- LastSequence uint32 `json:"lastSequence"`
- SequenceValid uint32 `json:"sequenceValid"`
- }
-
- type statsAtomic struct {
- packetsReceived atomic.Uint64
- packetsParsed atomic.Uint64
- packetsDelivered atomic.Uint64
- packetsLateDrop atomic.Uint64
- packetsGapLoss atomic.Uint64
- packetsWrongPT atomic.Uint64
- packetsShort atomic.Uint64
- jitterReorders atomic.Uint64
- decodeErrors atomic.Uint64
- samplesDelivered atomic.Uint64
- framesDelivered atomic.Uint64
- lastSequence atomic.Uint32
- sequenceValid atomic.Uint32
- }
-
- func (s *statsAtomic) snapshot() Stats {
- return Stats{
- PacketsReceived: s.packetsReceived.Load(),
- PacketsParsed: s.packetsParsed.Load(),
- PacketsDelivered: s.packetsDelivered.Load(),
- PacketsLateDrop: s.packetsLateDrop.Load(),
- PacketsGapLoss: s.packetsGapLoss.Load(),
- PacketsWrongPT: s.packetsWrongPT.Load(),
- PacketsShort: s.packetsShort.Load(),
- JitterReorders: s.jitterReorders.Load(),
- DecodeErrors: s.decodeErrors.Load(),
- SamplesDelivered: s.samplesDelivered.Load(),
- FramesDelivered: s.framesDelivered.Load(),
- LastSequence: s.lastSequence.Load(),
- SequenceValid: s.sequenceValid.Load(),
- }
- }
|