github.com/Cloud-Foundations/Dominator@v0.3.4/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.params.ScannerConfiguration.DefaultCpuPercent = request.CpuPercent 17 t.params.ScannerConfiguration.CpuLimiter.SetCpuPercent( 18 request.CpuPercent) 19 } 20 if request.NetworkSpeedPercent > 0 { 21 t.params.ScannerConfiguration.NetworkReaderContext.SetSpeedPercent( 22 request.NetworkSpeedPercent) 23 } 24 if request.ScanSpeedPercent > 0 { 25 t.params.ScannerConfiguration.FsScanContext.GetContext().SetSpeedPercent( 26 request.ScanSpeedPercent) 27 } 28 newFilter, err := filter.New(request.ScanExclusionList) 29 if err != nil { 30 return err 31 } 32 t.params.ScannerConfiguration.ScanFilter = newFilter 33 t.params.Logger.Printf("SetConfiguration()\n") 34 return nil 35 }