package objectconfig import ( "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config" ) // PutConfig is a wrapper over "put" config section which provides access // to object put pipeline configuration of object service. type PutConfig struct { cfg *config.Config } const ( subsection = "object" putSubsection = "put" // PutPoolSizeDefault is a default value of routine pool size to // process object.Put requests in object service. PutPoolSizeDefault = 10 ) // Put returns structure that provides access to "put" subsection of // "object" section. func Put(c *config.Config) PutConfig { return PutConfig{ c.Sub(subsection).Sub(putSubsection), } } // PoolSizeRemote returns the value of "remote_pool_size" config parameter. // // Returns PutPoolSizeDefault if the value is not a positive number. func (g PutConfig) PoolSizeRemote() int { v := config.Int(g.cfg, "remote_pool_size") if v > 0 { return int(v) } return PutPoolSizeDefault } // PoolSizeLocal returns the value of "local_pool_size" config parameter. // // Returns PutPoolSizeDefault if the value is not a positive number. func (g PutConfig) PoolSizeLocal() int { v := config.Int(g.cfg, "local_pool_size") if v > 0 { return int(v) } return PutPoolSizeDefault } // SkipSessionTokenIssuerVerification returns the value of "skip_session_token_issuer_verification" config parameter or `falseā€œ if is not defined. func (g PutConfig) SkipSessionTokenIssuerVerification() bool { return config.BoolSafe(g.cfg, "skip_session_token_issuer_verification") }