func getModeAndMaxBufferSize()

in args.go [227:249]


func getModeAndMaxBufferSize() (string, int, error) {
	var (
		mode       string
		maxBufSize int
		err        error
	)

	mode = viper.GetString(modeKey)
	switch mode {
	case "":
		mode = blockingMode
	case blockingMode:
	case nonBlockingMode:
		maxBufSize, err = getMaxBufferSize()
		if err != nil {
			return "", 0, fmt.Errorf("unable to get max buffer size: %w", err)
		}
	default:
		return "", 0, fmt.Errorf("unknown mode type: %s", mode)
	}

	return mode, maxBufSize, nil
}