The number of connections that can be open at the same time in R is
*typically* 128, where the first three are occupied by the always open
`stdin()`

, `stdout()`

, and `stderr()`

connections, which leaves 125 slots
available for other types of connections. Connections are used in many
places, e.g. reading and writing to file, downloading URLs, communicating
with parallel R processes over a socket connections, and capturing standard
output via text connections.

```
availableConnections()
freeConnections()
```

## Value

A non-negative integer, or `+Inf`

if the available number of connections
is greated than 16384, which is a limit be set via option
parallelly.availableConnections.tries.

## How to increase the limit

This limit of 128 connections can only be changed by rebuilding R from
source. The limited is hardcoded as a

in `src/main/connections.c`

.

## How the limit is identified

Since the limit *might* changed, for instance in custom R builds or in
future releases of R, we do not want to assume that the limit is 128 for
all R installation. Unfortunately, it is not possible to query R for what
the limit is.
Instead, `availableConnections()`

infers it from trial-and-error.
until it fails. For efficiency, the result is memoized throughout the
current R session.

## Examples

```
total <- availableConnections()
message("You can have ", total, " connections open in this R installation")
#> You can have 128 connections open in this R installation
free <- freeConnections()
message("There are ", free, " connections remaining")
#> There are 124 connections remaining
```