Class NWProtocolOptions

All Implemented Interfaces:
NSObjectProtocol, ObjCProtocol

public final class NWProtocolOptions
extends NWObject
implements NSObjectProtocol
  • Constructor Details

    • NWProtocolOptions

      public NWProtocolOptions()
  • Method Details

    • copyDefinition

      public NWProtocolDefinition copyDefinition()
      Since:
      Available in iOS 12.0 and later.
    • createFramerOptions

      public static NWProtocolOptions createFramerOptions​(NWProtocolDefinition framer_definition)
      Since:
      Available in iOS 13.0 and later.
    • setFramerObjectValue

      public void setFramerObjectValue​(BytePtr key, NSObject value)
      Since:
      Available in iOS 15.4 and later.
    • setIpVersion

      public void setIpVersion​(NWIpVersion version)
      Since:
      Available in iOS 12.0 and later.
    • setIpHopLimit

      public void setIpHopLimit​(byte hop_limit)
      Since:
      Available in iOS 12.0 and later.
    • setIpUseMinimumMtu

      public void setIpUseMinimumMtu​(boolean use_minimum_mtu)
      Since:
      Available in iOS 12.0 and later.
    • setIpDisableFragmentation

      public void setIpDisableFragmentation​(boolean disable_fragmentation)
      Since:
      Available in iOS 12.0 and later.
    • setIpCalculateReceiveTime

      public void setIpCalculateReceiveTime​(boolean calculate_receive_time)
      Since:
      Available in iOS 12.0 and later.
    • setIpLocalAddressPreference

      public void setIpLocalAddressPreference​(NWIpLocalAddressPreference preference)
      Since:
      Available in iOS 13.0 and later.
    • setIpDisableMulticastLoopback

      public void setIpDisableMulticastLoopback​(boolean disable_multicast_loopback)
      Since:
      Available in iOS 14.0 and later.
    • createQuicOptions

      public static NWProtocolOptions createQuicOptions()
      Since:
      Available in iOS 15.0 and later.
    • isQuic

      public boolean isQuic()
      Since:
      Available in iOS 15.0 and later.
    • addQuicTlsApplicationProtocol

      public void addQuicTlsApplicationProtocol​(BytePtr application_protocol)
      Since:
      Available in iOS 15.0 and later.
    • copyQuicSecProtocolOptions

      public SecArcProtocolOptions copyQuicSecProtocolOptions()
      Since:
      Available in iOS 15.0 and later.
    • getQuicStreamIsUnidirectional

      public boolean getQuicStreamIsUnidirectional()
      Since:
      Available in iOS 15.0 and later.
    • setQuicStreamIsUnidirectional

      public void setQuicStreamIsUnidirectional​(boolean is_unidirectional)
      Since:
      Available in iOS 15.0 and later.
    • getQuicInitialMaxData

      public long getQuicInitialMaxData()
      Since:
      Available in iOS 15.0 and later.
    • setQuicInitialMaxData

      public void setQuicInitialMaxData​(long initial_max_data)
      Since:
      Available in iOS 15.0 and later.
    • getQuicMaxUdpPayloadSize

      public short getQuicMaxUdpPayloadSize()
      Since:
      Available in iOS 15.0 and later.
    • setQuicMaxUdpPayloadSize

      public void setQuicMaxUdpPayloadSize​(short max_udp_payload_size)
      Since:
      Available in iOS 15.0 and later.
    • getQuicIdleTimeout

      public int getQuicIdleTimeout()
      Since:
      Available in iOS 15.0 and later.
    • setQuicIdleTimeout

      public void setQuicIdleTimeout​(int idle_timeout)
      Since:
      Available in iOS 15.0 and later.
    • getQuicInitialMaxStreamsBidirectional

      public long getQuicInitialMaxStreamsBidirectional()
      Since:
      Available in iOS 15.0 and later.
    • setQuicInitialMaxStreamsBidirectional

      public void setQuicInitialMaxStreamsBidirectional​(long initial_max_streams_bidirectional)
      Since:
      Available in iOS 15.0 and later.
    • getQuicInitialMaxStreamsUnidirectional

      public long getQuicInitialMaxStreamsUnidirectional()
      Since:
      Available in iOS 15.0 and later.
    • setQuicInitialMaxStreamsUnidirectional

      public void setQuicInitialMaxStreamsUnidirectional​(long initial_max_streams_unidirectional)
      Since:
      Available in iOS 15.0 and later.
    • getQuicInitialMaxStreamDataBidirectionalLocal

      public long getQuicInitialMaxStreamDataBidirectionalLocal()
      Since:
      Available in iOS 15.0 and later.
    • setQuicInitialMaxStreamDataBidirectionalLocal

      public void setQuicInitialMaxStreamDataBidirectionalLocal​(long initial_max_stream_data_bidirectional_local)
      Since:
      Available in iOS 15.0 and later.
    • getQuicInitialMaxStreamDataBidirectionalRemote

      public long getQuicInitialMaxStreamDataBidirectionalRemote()
      Since:
      Available in iOS 15.0 and later.
    • setQuicInitialMaxStreamDataBidirectionalRemote

      public void setQuicInitialMaxStreamDataBidirectionalRemote​(long initial_max_stream_data_bidirectional_remote)
      Since:
      Available in iOS 15.0 and later.
    • getQuicInitialMaxStreamDataUnidirectional

      public long getQuicInitialMaxStreamDataUnidirectional()
      Since:
      Available in iOS 15.0 and later.
    • setQuicInitialMaxStreamDataUnidirectional

      public void setQuicInitialMaxStreamDataUnidirectional​(long initial_max_stream_data_unidirectional)
      Since:
      Available in iOS 15.0 and later.
    • createTcpOptions

      public static NWProtocolOptions createTcpOptions()
      Since:
      Available in iOS 12.0 and later.
    • setTcpNoDelay

      public void setTcpNoDelay​(boolean no_delay)
      Since:
      Available in iOS 12.0 and later.
    • setTcpNoPush

      public void setTcpNoPush​(boolean no_push)
      Since:
      Available in iOS 12.0 and later.
    • setTcpNoOptions

      public void setTcpNoOptions​(boolean no_options)
      Since:
      Available in iOS 12.0 and later.
    • setTcpEnableKeepalive

      public void setTcpEnableKeepalive​(boolean enable_keepalive)
      Since:
      Available in iOS 12.0 and later.
    • setTcpKeepaliveCount

      public void setTcpKeepaliveCount​(int keepalive_count)
      Since:
      Available in iOS 12.0 and later.
    • setTcpKeepaliveIdleTime

      public void setTcpKeepaliveIdleTime​(int keepalive_idle_time)
      Since:
      Available in iOS 12.0 and later.
    • setTcpKeepaliveInterval

      public void setTcpKeepaliveInterval​(int keepalive_interval)
      Since:
      Available in iOS 12.0 and later.
    • setTcpMaximumSegmentSize

      public void setTcpMaximumSegmentSize​(int maximum_segment_size)
      Since:
      Available in iOS 12.0 and later.
    • setTcpConnectionTimeout

      public void setTcpConnectionTimeout​(int connection_timeout)
      Since:
      Available in iOS 12.0 and later.
    • setTcpPersistTimeout

      public void setTcpPersistTimeout​(int persist_timeout)
      Since:
      Available in iOS 12.0 and later.
    • setTcpRetransmitConnectionDropTime

      public void setTcpRetransmitConnectionDropTime​(int retransmit_connection_drop_time)
      Since:
      Available in iOS 12.0 and later.
    • setTcpRetransmitFinDrop

      public void setTcpRetransmitFinDrop​(boolean retransmit_fin_drop)
      Since:
      Available in iOS 12.0 and later.
    • setTcpDisableAckStretching

      public void setTcpDisableAckStretching​(boolean disable_ack_stretching)
      Since:
      Available in iOS 12.0 and later.
    • setTcpEnableFastOpen

      public void setTcpEnableFastOpen​(boolean enable_fast_open)
      Since:
      Available in iOS 12.0 and later.
    • setTcpDisableEcn

      public void setTcpDisableEcn​(boolean disable_ecn)
      Since:
      Available in iOS 12.0 and later.
    • setTcpMultipathForceVersion

      public void setTcpMultipathForceVersion​(NWMultipathVersion multipath_force_version)
      Since:
      Available in iOS 15.0 and later.
    • createTlsOptions

      public static NWProtocolOptions createTlsOptions()
      Since:
      Available in iOS 12.0 and later.
    • copySecArcProtocolOptions

      public SecArcProtocolOptions copySecArcProtocolOptions()
      Since:
      Available in iOS 12.0 and later.
    • createUdpOptions

      public static NWProtocolOptions createUdpOptions()
      Since:
      Available in iOS 12.0 and later.
    • setUdpPreferNoChecksum

      public void setUdpPreferNoChecksum​(boolean prefer_no_checksum)
      Since:
      Available in iOS 12.0 and later.
    • createWsOptions

      public static NWProtocolOptions createWsOptions​(NWWsVersion version)
      Since:
      Available in iOS 13.0 and later.
    • addAdditionalHeader

      public void addAdditionalHeader​(String name, String value)
      Since:
      Available in iOS 13.0 and later.
    • addSubprotocol

      public void addSubprotocol​(String subprotocol)
      Since:
      Available in iOS 13.0 and later.
    • setWsAutoReplyPing

      public void setWsAutoReplyPing​(boolean auto_reply_ping)
      Since:
      Available in iOS 13.0 and later.
    • setWsSkipHandshake

      public void setWsSkipHandshake​(boolean skip_handshake)
      Since:
      Available in iOS 13.0 and later.
    • setWsMaximumMessageSize

      public void setWsMaximumMessageSize​(long maximum_message_size)
      Since:
      Available in iOS 13.0 and later.
    • setWsClientRequestHandler

      public void setWsClientRequestHandler​(DispatchQueue client_queue, Block1<NWWsRequest,​NWWsResponse> handler)
      Since:
      Available in iOS 13.0 and later.