MCPcopy
hub / github.com/IBM/sarama / ParseKafkaVersion

Function ParseKafkaVersion

utils.go:320–335  ·  view source on GitHub ↗

ParseKafkaVersion parses and returns kafka version or error from a string

(s string)

Source from the content-addressed store, hash-verified

318
319// ParseKafkaVersion parses and returns kafka version or error from a string
320func ParseKafkaVersion(s string) (KafkaVersion, error) {
321 if len(s) < 5 {
322 return DefaultVersion, fmt.Errorf("invalid version `%s`", s)
323 }
324 var major, minor, veryMinor, patch uint
325 var err error
326 if s[0] == '0' {
327 err = scanKafkaVersion(s, validPreKafka1Version, "0.%d.%d.%d", [3]*uint{&minor, &veryMinor, &patch})
328 } else {
329 err = scanKafkaVersion(s, validPostKafka1Version, "%d.%d.%d", [3]*uint{&major, &minor, &veryMinor})
330 }
331 if err != nil {
332 return DefaultVersion, err
333 }
334 return newKafkaVersion(major, minor, veryMinor, patch), nil
335}
336
337func scanKafkaVersion(s string, pattern *regexp.Regexp, format string, v [3]*uint) error {
338 if !pattern.MatchString(s) {

Callers 15

parseVersionFunction · 0.92
mainFunction · 0.92
mainFunction · 0.92
mainFunction · 0.92
mainFunction · 0.92
mainFunction · 0.92
mainFunction · 0.92
mainFunction · 0.92
mainFunction · 0.92
versionRangeFunction · 0.85
testProducingMessagesFunction · 0.85

Calls 3

scanKafkaVersionFunction · 0.85
newKafkaVersionFunction · 0.85
ErrorfMethod · 0.65