github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/sub/rpcd/setConfiguration.go (about) 1 package rpcd 2 3 import ( 4 "github.com/Cloud-Foundations/Dominator/lib/filter" 5 "github.com/Cloud-Foundations/Dominator/lib/srpc" 6 "github.com/Cloud-Foundations/Dominator/proto/sub" 7 ) 8 9 func (t *rpcType) SetConfiguration(conn *srpc.Conn, 10 request sub.SetConfigurationRequest, 11 reply *sub.SetConfigurationResponse) error { 12 if request.CpuPercent > 100 { 13 request.CpuPercent = 100 14 } 15 if request.CpuPercent > 0 { 16 t.scannerConfiguration.DefaultCpuPercent = request.CpuPercent 17 t.scannerConfiguration.CpuLimiter.SetCpuPercent(request.CpuPercent) 18 } 19 if request.NetworkSpeedPercent > 0 { 20 t.scannerConfiguration.NetworkReaderContext.SetSpeedPercent( 21 request.NetworkSpeedPercent) 22 } 23 if request.ScanSpeedPercent > 0 { 24 t.scannerConfiguration.FsScanContext.GetContext().SetSpeedPercent( 25 request.ScanSpeedPercent) 26 } 27 newFilter, err := filter.New(request.ScanExclusionList) 28 if err != nil { 29 return err 30 } 31 t.scannerConfiguration.ScanFilter = newFilter 32 t.logger.Printf("SetConfiguration()\n") 33 return nil 34 }