<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 15.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 8.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Network",
  "identifier" : "/documentation/Network/NWProtocolQUIC/Options",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Network"
    ],
    "preciseIdentifier" : "s:7Network14NWProtocolQUICC7OptionsC"
  },
  "title" : "NWProtocolQUIC.Options"
}
-->

# NWProtocolQUIC.Options

A container of options that configure the use of QUIC on a connection.

```
class Options
```

## Topics

### Customizing Connection Options

[`convenience init(alpn: [String])`](/documentation/Network/NWProtocolQUIC/Options/init(alpn:))

Initializes a default set of QUIC options along with a set of supported Application-Layer Protocol Negotiation values.

[`init()`](/documentation/Network/NWProtocolQUIC/Options/init())

Initializes a default set of QUIC options, without specifying a set of supported Application-Layer Protocol Negotiation values.

[`var alpn: [String]`](/documentation/Network/NWProtocolQUIC/Options/alpn)

A set of supported Application-Layer Protocol Negotiation values.

[`var idleTimeout: Int`](/documentation/Network/NWProtocolQUIC/Options/idleTimeout)

The idle timeout for the QUIC connection, in milliseconds.

[`var initialMaxData: Int`](/documentation/Network/NWProtocolQUIC/Options/initialMaxData)

A QUIC connection’s initial maximum data transport parameter.

[`var initialMaxStreamDataBidirectionalLocal: Int`](/documentation/Network/NWProtocolQUIC/Options/initialMaxStreamDataBidirectionalLocal)

A QUIC connection’s initial maximum stream data limit for locally-initiated bidirectional streams.

[`var initialMaxStreamDataBidirectionalRemote: Int`](/documentation/Network/NWProtocolQUIC/Options/initialMaxStreamDataBidirectionalRemote)

A QUIC connection’s initial maximum stream data limit for remote-initiated bidirectional streams.

[`var initialMaxStreamDataUnidirectional: Int`](/documentation/Network/NWProtocolQUIC/Options/initialMaxStreamDataUnidirectional)

A QUIC connection’s initial maximum stream data limit for unidirectional streams.

[`var initialMaxStreamsBidirectional: Int`](/documentation/Network/NWProtocolQUIC/Options/initialMaxStreamsBidirectional)

A QUIC connection’s initial maximum number of bidirectional streams.

[`var initialMaxStreamsUnidirectional: Int`](/documentation/Network/NWProtocolQUIC/Options/initialMaxStreamsUnidirectional)

A QUIC connection’s initial maximum number of unidirectional streams.

[`var maxDatagramFrameSize: Int`](/documentation/Network/NWProtocolQUIC/Options/maxDatagramFrameSize)

A QUIC connection’s maximum DATAGRAM frame size.

[`var maxUDPPayloadSize: Int`](/documentation/Network/NWProtocolQUIC/Options/maxUDPPayloadSize)

The maximum length of a QUIC packet that can be received on a connection, in bytes.

[`var securityProtocolOptions: sec_protocol_options_t`](/documentation/Network/NWProtocolQUIC/Options/securityProtocolOptions)

The handshake security options QUIC uses.

### Customizing Stream Options

[`var direction: NWProtocolQUIC.Options.Direction`](/documentation/Network/NWProtocolQUIC/Options/direction-swift.property)

The direction of the QUIC stream.

[`enum Direction`](/documentation/Network/NWProtocolQUIC/Options/Direction-swift.enum)

A directionality of a QUIC stream.

[`var isDatagram: Bool`](/documentation/Network/NWProtocolQUIC/Options/isDatagram)

A Boolean that indicates that this is a QUIC datagram flow, not a stream of bytes.

## Relationships

### Inherits From

[`NWProtocolOptions`](/documentation/Network/NWProtocolOptions)

### Conforms To

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

---

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)