---
title: enableFastOpen
framework: network
role: symbol
role_heading: Instance Property
path: network/nwprotocoltcp/options/enablefastopen
---

# enableFastOpen

A Boolean that enables TCP Fast Open on a connection.

## Declaration

```swift
var enableFastOpen: Bool { get set }
```

## Discussion

Discussion If TCP Fast Open is enabled and TLS is running on top of TCP, the TLS handshake will automatically be used as the TCP early data. If there is no protocol running on top of TCP, you should also enable fast open on the connection parameters and send idempotent data.

## See Also

### Related Documentation

- [allowFastOpen](network/nwparameters/allowfastopen.md)
- [NWConnection.SendCompletion.idempotent](network/nwconnection/sendcompletion/idempotent.md)

### Customizing TCP Options

- [init()](network/nwprotocoltcp/options/init().md)
- [maximumSegmentSize](network/nwprotocoltcp/options/maximumsegmentsize.md)
- [noDelay](network/nwprotocoltcp/options/nodelay.md)
- [noOptions](network/nwprotocoltcp/options/nooptions.md)
- [noPush](network/nwprotocoltcp/options/nopush.md)
- [retransmitFinDrop](network/nwprotocoltcp/options/retransmitfindrop.md)
- [disableAckStretching](network/nwprotocoltcp/options/disableackstretching.md)
- [disableECN](network/nwprotocoltcp/options/disableecn.md)
