mirror of
https://github.com/cwinfo/matterbridge.git
synced 2024-11-22 23:00:28 +00:00
63 lines
1.4 KiB
Go
63 lines
1.4 KiB
Go
package gumble
|
|
|
|
import (
|
|
"crypto/x509"
|
|
"net"
|
|
"time"
|
|
)
|
|
|
|
// UserStats contains additional information about a user.
|
|
type UserStats struct {
|
|
// The owner of the stats.
|
|
User *User
|
|
|
|
// Stats about UDP packets sent from the client.
|
|
FromClient UserStatsUDP
|
|
// Stats about UDP packets sent by the server.
|
|
FromServer UserStatsUDP
|
|
|
|
// Number of UDP packets sent by the user.
|
|
UDPPackets uint32
|
|
// Average UDP ping.
|
|
UDPPingAverage float32
|
|
// UDP ping variance.
|
|
UDPPingVariance float32
|
|
|
|
// Number of TCP packets sent by the user.
|
|
TCPPackets uint32
|
|
// Average TCP ping.
|
|
TCPPingAverage float32
|
|
// TCP ping variance.
|
|
TCPPingVariance float32
|
|
|
|
// The user's version.
|
|
Version Version
|
|
// When the user connected to the server.
|
|
Connected time.Time
|
|
// How long the user has been idle.
|
|
Idle time.Duration
|
|
// How much bandwidth the user is current using.
|
|
Bandwidth int
|
|
// The user's certificate chain.
|
|
Certificates []*x509.Certificate
|
|
// Does the user have a strong certificate? A strong certificate is one that
|
|
// is not self signed, nor expired, etc.
|
|
StrongCertificate bool
|
|
// A list of CELT versions supported by the user's client.
|
|
CELTVersions []int32
|
|
// Does the user's client supports the Opus audio codec?
|
|
Opus bool
|
|
|
|
// The user's IP address.
|
|
IP net.IP
|
|
}
|
|
|
|
// UserStatsUDP contains stats about UDP packets that have been sent to or from
|
|
// the server.
|
|
type UserStatsUDP struct {
|
|
Good uint32
|
|
Late uint32
|
|
Lost uint32
|
|
Resync uint32
|
|
}
|