func (ln bufioLn) ParseSize(prefix byte, fallback error) (int64, error) {
	data := ln.Trim()

	if len(data) == 0 {
		return 0, protoErrorf("Protocol error: expected '%s', got ' '", string(prefix))
	} else if data[0] != prefix {
		return 0, protoErrorf("Protocol error: expected '%s', got '%s'", string(prefix), string(data[0]))
	} else if len(data) < 2 {
		return 0, fallback
	}

	var n int64
	for _, c := range data[1:] {
		if c >= '0' && c <= '9' {
			n = n*10 + int64(c-'0')
		} else {
			return 0, fallback
		}
	}
	if n < 0 {
		return 0, fallback
	}
	return n, nil
}
// ParseSize parses a size with prefix
ParseSize parses a size with prefix
// ParseSize parses a size with prefix
func (ln bufioLn) ParseSize(prefix byte, fallback error) (int64, error) {
	data := ln.Trim()
	if len(data) == 0 {
		return 0, protoErrorf("Protocol error: expected '%s', got ' '", string(prefix))
	} else if data[0] != prefix {
		return 0, protoErrorf("Protocol error: expected '%s', got '%s'", string(prefix), string(data[0]))
	} else if len(data) < 2 {
		return 0, fallback
	}
	var n int64
	for _, c := range data[1:] {
		if c >= '0' && c <= '9' {
			n = n*10 + int64(c-'0')
		} else {
			return 0, fallback
		}
	}
	if n < 0 {
		return 0, fallback
	}
	return n, nil
}
func ( ln bufioLn ) ParseSize ( prefix byte , fallback error ) ( int64 , error ) { data := ln . Trim ( ) if len ( data ) == 0 { return 0 , protoErrorf ( " " , string ( prefix ) ) } else if data [ 0 ] != prefix { return 0 , protoErrorf ( " " , string ( prefix ) , string ( data [ 0 ] ) ) } else if len ( data ) < 2 { return 0 , fallback } var n int64 for _ , c := range data [ 1 : ] { if c >= '0' && c <= '9' { n = n * 10 + int64 ( c - '0' ) } else { return 0 , fallback } } if n < 0 { return 0 , fallback } return n , nil }
ParseSize parses a size with prefix
ParseSize parses a size with prefix