---
name: "CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE"
section: "3"
platform: "macos"
package: "curl"
version: "166.0.0.0.1"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE"
---

# CURLMOPT\_CHUNK\_LENGTH\_PENALTY\_SIZE(3)

chunk length threshold for pipelining

## NAME

CURLMOPT\_CHUNK\_LENGTH\_PENALTY\_SIZE - chunk length threshold for pipelining

## SYNOPSIS

```
#include <curl/curl.h>
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE,
                            long size);
```

## DESCRIPTION

No function since pipelining was removed in 7.62.0.

Pass a long with a **size** in bytes. If a transfer in a pipeline is currently processing a chunked (Transfer-encoding: chunked) request with a current chunk length larger than *[CURLMOPT\_CHUNK\_LENGTH\_PENALTY\_SIZE(3)](/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE/3.md)*, that pipeline is not considered for additional requests, even if it is shorter than *[CURLMOPT\_MAX\_PIPELINE\_LENGTH(3)](/CURLMOPT_MAX_PIPELINE_LENGTH/3.md)*.

## DEFAULT

The default value is 0, which means that the penalization is inactive.

## PROTOCOLS

HTTP(S)

## EXAMPLE

```
int main(void)
{
  CURLM *m = curl_multi_init();
  long maxchunk = 10000;
  curl_multi_setopt(m, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, maxchunk);
}
```

## AVAILABILITY

Added in 7.30.0

## RETURN VALUE

Returns CURLM\_OK if the option is supported, and CURLM\_UNKNOWN\_OPTION if not.

## SEE ALSO

[**CURLMOPT\_CONTENT\_LENGTH\_PENALTY\_SIZE**(3)](/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE/3.md), [**CURLMOPT\_MAX\_PIPELINE\_LENGTH**(3)](/CURLMOPT_MAX_PIPELINE_LENGTH/3.md), [**CURLMOPT\_PIPELINING**(3)](/CURLMOPT_PIPELINING/3.md)
