MCPcopy
hub / github.com/CodisLabs/codis / Validate

Method Validate

pkg/proxy/config.go:214–308  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

212}
213
214func (c *Config) Validate() error {
215 if c.ProtoType == "" {
216 return errors.New("invalid proto_type")
217 }
218 if c.ProxyAddr == "" {
219 return errors.New("invalid proxy_addr")
220 }
221 if c.AdminAddr == "" {
222 return errors.New("invalid admin_addr")
223 }
224 if c.JodisName != "" {
225 if c.JodisAddr == "" {
226 return errors.New("invalid jodis_addr")
227 }
228 if c.JodisTimeout < 0 {
229 return errors.New("invalid jodis_timeout")
230 }
231 }
232 if c.ProductName == "" {
233 return errors.New("invalid product_name")
234 }
235 if c.ProxyMaxClients < 0 {
236 return errors.New("invalid proxy_max_clients")
237 }
238
239 const MaxInt = bytesize.Int64(^uint(0) >> 1)
240
241 if d := c.ProxyMaxOffheapBytes; d < 0 || d > MaxInt {
242 return errors.New("invalid proxy_max_offheap_size")
243 }
244 if d := c.ProxyHeapPlaceholder; d < 0 || d > MaxInt {
245 return errors.New("invalid proxy_heap_placeholder")
246 }
247 if c.BackendPingPeriod < 0 {
248 return errors.New("invalid backend_ping_period")
249 }
250
251 if d := c.BackendRecvBufsize; d < 0 || d > MaxInt {
252 return errors.New("invalid backend_recv_bufsize")
253 }
254 if c.BackendRecvTimeout < 0 {
255 return errors.New("invalid backend_recv_timeout")
256 }
257 if d := c.BackendSendBufsize; d < 0 || d > MaxInt {
258 return errors.New("invalid backend_send_bufsize")
259 }
260 if c.BackendSendTimeout < 0 {
261 return errors.New("invalid backend_send_timeout")
262 }
263 if c.BackendMaxPipeline < 0 {
264 return errors.New("invalid backend_max_pipeline")
265 }
266 if c.BackendPrimaryParallel < 0 {
267 return errors.New("invalid backend_primary_parallel")
268 }
269 if c.BackendReplicaParallel < 0 {
270 return errors.New("invalid backend_replica_parallel")
271 }

Callers 3

NewDefaultConfigFunction · 0.95
LoadFromFileMethod · 0.95
NewFunction · 0.45

Calls 1

Int64Method · 0.45

Tested by

no test coverage detected