()
| 212 | } |
| 213 | |
| 214 | func (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 | } |
no test coverage detected