@@ -110,6 +110,14 @@ func NewStartedService(options ServiceOptions) *StartedService {
110110 return s
111111}
112112
113+ func (s * StartedService ) SetOOMKillerOptions (enabled bool , killerDisabled bool , memoryLimit uint64 ) {
114+ s .serviceAccess .Lock ()
115+ defer s .serviceAccess .Unlock ()
116+ s .oomKillerEnabled = enabled
117+ s .oomKillerDisabled = killerDisabled
118+ s .oomMemoryLimit = memoryLimit
119+ }
120+
113121func (s * StartedService ) GetVersion (ctx context.Context , empty * emptypb.Empty ) (* Version , error ) {
114122 return & Version {
115123 Version : C .Version ,
@@ -1113,6 +1121,60 @@ func resolveTailscaleEndpoint(instance *Instance, tag string) (adapter.Endpoint,
11131121 return endpoint , nil
11141122}
11151123
1124+ func NewNetworkQualityTestProgress (progress networkquality.Progress ) * NetworkQualityTestProgress {
1125+ return & NetworkQualityTestProgress {
1126+ Phase : int32 (progress .Phase ),
1127+ DownloadCapacity : progress .DownloadCapacity ,
1128+ UploadCapacity : progress .UploadCapacity ,
1129+ DownloadRPM : progress .DownloadRPM ,
1130+ UploadRPM : progress .UploadRPM ,
1131+ IdleLatencyMs : progress .IdleLatencyMs ,
1132+ ElapsedMs : progress .ElapsedMs ,
1133+ DownloadCapacityAccuracy : int32 (progress .DownloadCapacityAccuracy ),
1134+ UploadCapacityAccuracy : int32 (progress .UploadCapacityAccuracy ),
1135+ DownloadRPMAccuracy : int32 (progress .DownloadRPMAccuracy ),
1136+ UploadRPMAccuracy : int32 (progress .UploadRPMAccuracy ),
1137+ }
1138+ }
1139+
1140+ func NewNetworkQualityTestResult (result * networkquality.Result ) * NetworkQualityTestProgress {
1141+ return & NetworkQualityTestProgress {
1142+ Phase : int32 (networkquality .PhaseDone ),
1143+ DownloadCapacity : result .DownloadCapacity ,
1144+ UploadCapacity : result .UploadCapacity ,
1145+ DownloadRPM : result .DownloadRPM ,
1146+ UploadRPM : result .UploadRPM ,
1147+ IdleLatencyMs : result .IdleLatencyMs ,
1148+ IsFinal : true ,
1149+ DownloadCapacityAccuracy : int32 (result .DownloadCapacityAccuracy ),
1150+ UploadCapacityAccuracy : int32 (result .UploadCapacityAccuracy ),
1151+ DownloadRPMAccuracy : int32 (result .DownloadRPMAccuracy ),
1152+ UploadRPMAccuracy : int32 (result .UploadRPMAccuracy ),
1153+ }
1154+ }
1155+
1156+ func NewSTUNTestProgress (progress stun.Progress ) * STUNTestProgress {
1157+ return & STUNTestProgress {
1158+ Phase : int32 (progress .Phase ),
1159+ ExternalAddr : progress .ExternalAddr ,
1160+ LatencyMs : progress .LatencyMs ,
1161+ NatMapping : int32 (progress .NATMapping ),
1162+ NatFiltering : int32 (progress .NATFiltering ),
1163+ }
1164+ }
1165+
1166+ func NewSTUNTestResult (result * stun.Result ) * STUNTestProgress {
1167+ return & STUNTestProgress {
1168+ Phase : int32 (stun .PhaseDone ),
1169+ ExternalAddr : result .ExternalAddr ,
1170+ LatencyMs : result .LatencyMs ,
1171+ NatMapping : int32 (result .NATMapping ),
1172+ NatFiltering : int32 (result .NATFiltering ),
1173+ IsFinal : true ,
1174+ NatTypeSupported : result .NATTypeSupported ,
1175+ }
1176+ }
1177+
11161178func (s * StartedService ) StartNetworkQualityTest (
11171179 request * NetworkQualityTestRequest ,
11181180 server grpc.ServerStreamingServer [NetworkQualityTestProgress ],
@@ -1147,19 +1209,7 @@ func (s *StartedService) StartNetworkQualityTest(
11471209 MaxRuntime : time .Duration (request .MaxRuntimeSeconds ) * time .Second ,
11481210 Context : server .Context (),
11491211 OnProgress : func (p networkquality.Progress ) {
1150- _ = server .Send (& NetworkQualityTestProgress {
1151- Phase : int32 (p .Phase ),
1152- DownloadCapacity : p .DownloadCapacity ,
1153- UploadCapacity : p .UploadCapacity ,
1154- DownloadRPM : p .DownloadRPM ,
1155- UploadRPM : p .UploadRPM ,
1156- IdleLatencyMs : p .IdleLatencyMs ,
1157- ElapsedMs : p .ElapsedMs ,
1158- DownloadCapacityAccuracy : int32 (p .DownloadCapacityAccuracy ),
1159- UploadCapacityAccuracy : int32 (p .UploadCapacityAccuracy ),
1160- DownloadRPMAccuracy : int32 (p .DownloadRPMAccuracy ),
1161- UploadRPMAccuracy : int32 (p .UploadRPMAccuracy ),
1162- })
1212+ _ = server .Send (NewNetworkQualityTestProgress (p ))
11631213 },
11641214 })
11651215 if nqErr != nil {
@@ -1168,19 +1218,7 @@ func (s *StartedService) StartNetworkQualityTest(
11681218 Error : nqErr .Error (),
11691219 })
11701220 }
1171- return server .Send (& NetworkQualityTestProgress {
1172- Phase : int32 (networkquality .PhaseDone ),
1173- DownloadCapacity : result .DownloadCapacity ,
1174- UploadCapacity : result .UploadCapacity ,
1175- DownloadRPM : result .DownloadRPM ,
1176- UploadRPM : result .UploadRPM ,
1177- IdleLatencyMs : result .IdleLatencyMs ,
1178- IsFinal : true ,
1179- DownloadCapacityAccuracy : int32 (result .DownloadCapacityAccuracy ),
1180- UploadCapacityAccuracy : int32 (result .UploadCapacityAccuracy ),
1181- DownloadRPMAccuracy : int32 (result .DownloadRPMAccuracy ),
1182- UploadRPMAccuracy : int32 (result .UploadRPMAccuracy ),
1183- })
1221+ return server .Send (NewNetworkQualityTestResult (result ))
11841222}
11851223
11861224func (s * StartedService ) StartSTUNTest (
@@ -1207,13 +1245,7 @@ func (s *StartedService) StartSTUNTest(
12071245 Dialer : resolvedDialer ,
12081246 Context : server .Context (),
12091247 OnProgress : func (p stun.Progress ) {
1210- _ = server .Send (& STUNTestProgress {
1211- Phase : int32 (p .Phase ),
1212- ExternalAddr : p .ExternalAddr ,
1213- LatencyMs : p .LatencyMs ,
1214- NatMapping : int32 (p .NATMapping ),
1215- NatFiltering : int32 (p .NATFiltering ),
1216- })
1248+ _ = server .Send (NewSTUNTestProgress (p ))
12171249 },
12181250 })
12191251 if stunErr != nil {
@@ -1222,15 +1254,7 @@ func (s *StartedService) StartSTUNTest(
12221254 Error : stunErr .Error (),
12231255 })
12241256 }
1225- return server .Send (& STUNTestProgress {
1226- Phase : int32 (stun .PhaseDone ),
1227- ExternalAddr : result .ExternalAddr ,
1228- LatencyMs : result .LatencyMs ,
1229- NatMapping : int32 (result .NATMapping ),
1230- NatFiltering : int32 (result .NATFiltering ),
1231- IsFinal : true ,
1232- NatTypeSupported : result .NATTypeSupported ,
1233- })
1257+ return server .Send (NewSTUNTestResult (result ))
12341258}
12351259
12361260func (s * StartedService ) SubscribeTailscaleStatus (
0 commit comments