<!--
{
  "availability" : [
    "iOS: 12.0.0 -",
    "iPadOS: 12.0.0 -",
    "macCatalyst: 12.0.0 -",
    "macOS: 10.14.0 -",
    "tvOS: 12.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 5.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Network",
  "identifier" : "/documentation/Network/NWProtocolTCP/Options/enableFastOpen",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Network"
    ],
    "preciseIdentifier" : "s:7Network13NWProtocolTCPC7OptionsC14enableFastOpenSbvp"
  },
  "title" : "enableFastOpen"
}
-->

# enableFastOpen

A Boolean that enables TCP Fast Open on a connection.

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

## 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

[`var allowFastOpen: Bool`](/documentation/Network/NWParameters/allowFastOpen)

A Boolean that enables sending application data with protocol handshakes.

[`case idempotent`](/documentation/Network/NWConnection/SendCompletion/idempotent)

Mark the sent data as idempotent—data that can be sent multiple times.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)