MCPcopy Index your code
hub / github.com/coder/coder / netcheckFromProto

Function netcheckFromProto

coderd/telemetry/telemetry.go:2053–2089  ·  view source on GitHub ↗
(proto *tailnetproto.Netcheck)

Source from the content-addressed store, hash-verified

2051}
2052
2053func netcheckFromProto(proto *tailnetproto.Netcheck) Netcheck {
2054 if proto == nil {
2055 return Netcheck{}
2056 }
2057
2058 durationMapFromProto := func(m map[int64]*durationpb.Duration) map[int64]time.Duration {
2059 out := make(map[int64]time.Duration, len(m))
2060 for k, v := range m {
2061 out[k] = v.AsDuration()
2062 }
2063 return out
2064 }
2065
2066 return Netcheck{
2067 UDP: proto.UDP,
2068 IPv6: proto.IPv6,
2069 IPv4: proto.IPv4,
2070 IPv6CanSend: proto.IPv6CanSend,
2071 IPv4CanSend: proto.IPv4CanSend,
2072 ICMPv4: proto.ICMPv4,
2073
2074 OSHasIPv6: protoBool(proto.OSHasIPv6),
2075 MappingVariesByDestIP: protoBool(proto.MappingVariesByDestIP),
2076 HairPinning: protoBool(proto.HairPinning),
2077 UPnP: protoBool(proto.UPnP),
2078 PMP: protoBool(proto.PMP),
2079 PCP: protoBool(proto.PCP),
2080
2081 PreferredDERP: proto.PreferredDERP,
2082
2083 RegionV4Latency: durationMapFromProto(proto.RegionV4Latency),
2084 RegionV6Latency: durationMapFromProto(proto.RegionV6Latency),
2085
2086 GlobalV4: netcheckIPFromProto(proto.GlobalV4),
2087 GlobalV6: netcheckIPFromProto(proto.GlobalV6),
2088 }
2089}
2090
2091// NetworkEvent and all related structs come from tailnet.proto.
2092type NetworkEvent struct {

Callers 1

NetworkEventFromProtoFunction · 0.85

Calls 2

protoBoolFunction · 0.85
netcheckIPFromProtoFunction · 0.85

Tested by

no test coverage detected