@class NSString, NSMutableDictionary, NSArray, NSUUID, NSDictionary; @interface NWConnectionStatistics : NSObject @property (retain, nonatomic) NSString *clientIdentifier; @property (nonatomic) struct netcore_stats_tcp_report { union { struct { struct netcore_stats_tcp_statistics_report { unsigned long long bytes_in; unsigned long long bytes_out; unsigned long long bytes_duplicate; unsigned long long bytes_ooo; unsigned long long bytes_retransmitted; unsigned long long packets_in; unsigned long long packets_out; unsigned long long packets_duplicate; unsigned long long packets_ooo; unsigned long long packets_retransmitted; unsigned long long multipath_bytes_in_cell; unsigned long long multipath_bytes_out_cell; unsigned long long multipath_bytes_in_wifi; unsigned long long multipath_bytes_out_wifi; unsigned long long multipath_bytes_in_initial; unsigned long long multipath_bytes_out_initial; unsigned int time_to_dns_resolved_msecs; unsigned int time_to_dns_start_msecs; unsigned int dns_resolved_time_msecs; unsigned int time_to_connection_start_msecs; unsigned int time_to_connection_establishment_msecs; unsigned int connection_establishment_time_msecs; unsigned int flow_duration_msecs; unsigned int traffic_class; unsigned int current_rtt_msecs; unsigned int smoothed_rtt_msecs; unsigned int best_rtt_msecs; unsigned int rtt_variance; unsigned int syn_retransmission_count; unsigned int better_route_event_count; unsigned int connection_reuse_count; unsigned int app_reporting_data_stall_count; unsigned int app_data_stall_timer_msecs; int interface_type; int connected_interface_type; int multipath_service_type; unsigned char dns_answers_cached : 1; unsigned char connected : 1; unsigned char cellular_fallback : 1; unsigned char cellular_rrc_connected : 1; unsigned char prefer_fallback : 1; unsigned char kernel_reported_stalls : 1; unsigned char kernel_reporting_connection_stalled : 1; unsigned char kernel_reporting_read_stalled : 1; unsigned char kernel_reporting_write_stalled : 1; unsigned char tcp_fast_open : 1; unsigned char first_party : 1; unsigned char tls13_configured : 1; unsigned char __pad_bits : 4; unsigned char __pad[6]; } statistics_report; struct netcore_stats_tcp_cell_fallback_report { struct netcore_stats_network_event { int network_event_type; unsigned int time_to_network_event_msecs; } network_events[20]; struct netcore_stats_data_usage_snapshot { unsigned long long bytes_in; unsigned long long bytes_out; unsigned long long multipath_bytes_in_cell; unsigned long long multipath_bytes_out_cell; unsigned long long multipath_bytes_in_wifi; unsigned long long multipath_bytes_out_wifi; unsigned long long multipath_bytes_in_initial; unsigned long long multipath_bytes_out_initial; } data_usage_snapshots_at_network_events[20]; int deny_reason; unsigned int network_event_count; unsigned int data_usage_snapshots_at_network_events_count; unsigned int fallback_timer_msecs; BOOL fellback; unsigned char __pad[7]; } fallback_report; struct netcore_stats_tcp_statistics_report { unsigned long long bytes_in; unsigned long long bytes_out; unsigned long long bytes_duplicate; unsigned long long bytes_ooo; unsigned long long bytes_retransmitted; unsigned long long packets_in; unsigned long long packets_out; unsigned long long packets_duplicate; unsigned long long packets_ooo; unsigned long long packets_retransmitted; unsigned long long multipath_bytes_in_cell; unsigned long long multipath_bytes_out_cell; unsigned long long multipath_bytes_in_wifi; unsigned long long multipath_bytes_out_wifi; unsigned long long multipath_bytes_in_initial; unsigned long long multipath_bytes_out_initial; unsigned int time_to_dns_resolved_msecs; unsigned int time_to_dns_start_msecs; unsigned int dns_resolved_time_msecs; unsigned int time_to_connection_start_msecs; unsigned int time_to_connection_establishment_msecs; unsigned int connection_establishment_time_msecs; unsigned int flow_duration_msecs; unsigned int traffic_class; unsigned int current_rtt_msecs; unsigned int smoothed_rtt_msecs; unsigned int best_rtt_msecs; unsigned int rtt_variance; unsigned int syn_retransmission_count; unsigned int better_route_event_count; unsigned int connection_reuse_count; unsigned int app_reporting_data_stall_count; unsigned int app_data_stall_timer_msecs; int interface_type; int connected_interface_type; int multipath_service_type; unsigned char dns_answers_cached : 1; unsigned char connected : 1; unsigned char cellular_fallback : 1; unsigned char cellular_rrc_connected : 1; unsigned char prefer_fallback : 1; unsigned char kernel_reported_stalls : 1; unsigned char kernel_reporting_connection_stalled : 1; unsigned char kernel_reporting_read_stalled : 1; unsigned char kernel_reporting_write_stalled : 1; unsigned char tcp_fast_open : 1; unsigned char first_party : 1; unsigned char tls13_configured : 1; unsigned char __pad_bits : 4; unsigned char __pad[6]; } connection_attempts[8]; int report_reason; unsigned int ip_address_attempt_count; } legacy; struct nw_connection_report_s { unsigned long long bytes_in; unsigned long long bytes_out; unsigned long long bytes_duplicate; unsigned long long bytes_ooo; unsigned long long bytes_retransmitted; unsigned long long ecn_capable_packets_sent; unsigned long long ecn_capable_packets_acked; unsigned long long ecn_capable_packets_marked; unsigned long long ecn_capable_packets_lost; unsigned long long packets_in; unsigned long long ect1_packets_in; unsigned long long ect0_packets_in; unsigned long long ce_packets_in; unsigned long long packets_out; unsigned long long multipath_bytes_in_cell; unsigned long long multipath_bytes_out_cell; unsigned long long multipath_bytes_in_wifi; unsigned long long multipath_bytes_out_wifi; unsigned long long multipath_bytes_in_initial; unsigned long long multipath_bytes_out_initial; unsigned long long estimated_upload_throughput; unsigned long long estimated_download_throughput; unsigned long long transform_last_timeout_msecs; unsigned long long attempt_delay_msecs; unsigned long long attempt_establishment_msecs; unsigned int current_rtt_msecs; unsigned int smoothed_rtt_msecs; unsigned int best_rtt_msecs; unsigned int rtt_variance; unsigned int syn_retransmission_count; unsigned int used_proxy_type; unsigned int traffic_class; unsigned int path_trigger_milliseconds; unsigned int resolution_milliseconds; unsigned int proxy_milliseconds; unsigned int flow_connect_milliseconds; unsigned int tls_milliseconds; unsigned int flow_duration_milliseconds; unsigned int ipv4_address_count; unsigned int ipv6_address_count; unsigned int connected_address_index; unsigned int connection_reuse_count; unsigned int data_stall_count; unsigned int ipv4_dns_server_count; unsigned int ipv6_dns_server_count; unsigned int seconds_since_interface_change; unsigned int transport_protocol; unsigned int dns_protocol; unsigned int connection_report_reason; unsigned int transform_first_protocol; unsigned int transform_connected_protocol; unsigned int transform_connected_protocol_index; int failure_reason; int connected_interface_type; int connected_interface_subtype; int multipath_service_type; int connection_mode; int apple_host; int apple_app; int dns_provider; int tls_version; int stack_level; unsigned char mptcp_version; unsigned char first_address_family; unsigned char connected_address_family; unsigned char connection_uuid[16]; unsigned char parent_uuid[16]; unsigned char activities[50][16]; char bundle_id[256]; char effective_bundle_id[256]; unsigned char privacy_stance; int client_accurate_ecn_state; int server_accurate_ecn_state; unsigned char is_known_tracker : 1; unsigned char is_third_party_web_content : 1; unsigned char triggered_path : 1; unsigned char system_proxy_configured : 1; unsigned char custom_proxy_configured : 1; unsigned char fallback_eligible : 1; unsigned char weak_fallback : 1; unsigned char prefer_fallback : 1; unsigned char used_fallback : 1; unsigned char resolution_required : 1; unsigned char tls_configured : 1; unsigned char tls13_configured : 1; unsigned char tfo_configured : 1; unsigned char multipath_configured : 1; unsigned char connected : 1; unsigned char tls_succeeded : 1; unsigned char synthesized_ipv6_address : 1; unsigned char synthesized_extra_ipv6_address : 1; unsigned char ipv4_available : 1; unsigned char ipv6_available : 1; unsigned char used_tfo : 1; unsigned char tls_version_timeout : 1; unsigned char first_party : 1; unsigned char is_daemon : 1; unsigned char tls_handshake_timed_out : 1; unsigned char is_path_expensive : 1; unsigned char is_path_constrained : 1; unsigned char prohibits_expensive : 1; unsigned char prohibits_constrained : 1; unsigned char svcb_requested : 1; unsigned char svcb_received : 1; unsigned char svcb_dohuri : 1; unsigned char is_probe : 1; unsigned char quic_experiment_enabled : 1; unsigned char quic_deferred : 1; unsigned char quic_application_deferred : 1; unsigned char quic_denied : 1; unsigned char quic_alternative_present : 1; unsigned char quic_updated_alternative : 1; unsigned char quic_speculative_attempt : 1; unsigned char tls_ech_enabled : 1; unsigned char is_web_search_content : 1; unsigned char l4s_enabled : 1; unsigned char __pad_bits : 5; unsigned char pad_bytes[2]; struct nw_connection_protocol_establishment_report_s { char protocol_name[32]; unsigned long long handshake_milliseconds; unsigned long long handshake_rtt_milliseconds; int protocol_index; unsigned char __pad[4]; } protocol_establishment_reports[10]; struct nw_connection_proxy_hop_s { char proxy_name[64]; unsigned char __pad[0]; } proxy_hops[2]; unsigned char __pad[0]; } nw_connection_report; } u; BOOL delegated; BOOL legacy; unsigned char __pad[6]; } report; @property (retain, nonatomic) NSMutableDictionary *dictionaryReport; @property (nonatomic) unsigned char metricType; @property (retain, nonatomic) NSArray *activities; @property (retain, nonatomic) NSString *sourceIdentifier; @property (readonly, nonatomic) BOOL delegated; @property (readonly, nonatomic) int interfaceType; @property (readonly, nonatomic) unsigned int timeToDnsResolvedMsecs; @property (readonly, nonatomic) unsigned int timeToDnsStartMsecs; @property (readonly, nonatomic) unsigned int dnsResolvedTimeMsecs; @property (readonly, nonatomic) BOOL dnsAnswersCached; @property (readonly, nonatomic) unsigned int timeToConnectionStartMsecs; @property (readonly, nonatomic) unsigned int timeToConnectionEstablishmentMsecs; @property (readonly, nonatomic) unsigned int connectionEstablishmentTimeMsecs; @property (readonly, nonatomic) unsigned int flowDurationMsecs; @property (readonly, nonatomic) int connectedInterfaceType; @property (readonly, nonatomic) BOOL connected; @property (readonly, nonatomic) unsigned int trafficClass; @property (readonly, nonatomic) BOOL fallbackEligible; @property (readonly, nonatomic) BOOL cellularFallback; @property (readonly, nonatomic) BOOL cellularRrcConnected; @property (readonly, nonatomic) BOOL tls13Configured; @property (readonly, nonatomic) BOOL tlsSucceeded; @property (readonly, nonatomic) BOOL kernelReportedStalls; @property (readonly, nonatomic) BOOL kernelReportingConnectionStalled; @property (readonly, nonatomic) BOOL kernelReportingReadStalled; @property (readonly, nonatomic) BOOL kernelReportingWriteStalled; @property (readonly, nonatomic) unsigned long long bytesIn; @property (readonly, nonatomic) unsigned long long bytesOut; @property (readonly, nonatomic) unsigned long long bytesDuplicate; @property (readonly, nonatomic) unsigned long long bytesOOO; @property (readonly, nonatomic) unsigned long long bytesRetransmitted; @property (readonly, nonatomic) unsigned long long packetsIn; @property (readonly, nonatomic) unsigned long long packetsOut; @property (readonly, nonatomic) unsigned long long packetsDuplicate; @property (readonly, nonatomic) unsigned long long packetsOOO; @property (readonly, nonatomic) unsigned long long packetsRetransmitted; @property (readonly, nonatomic) unsigned int tcpRTTCurrentMsecs; @property (readonly, nonatomic) unsigned int tcpRTTSmoothedMsecs; @property (readonly, nonatomic) unsigned int tcpRTTBestMsecs; @property (readonly, nonatomic) unsigned int tcpRTTVariance; @property (readonly, nonatomic) unsigned int tcpSynRetransmissionCount; @property (readonly, nonatomic) BOOL tcpFastOpen; @property (readonly, nonatomic) unsigned int tcpBetterRouteEventCount; @property (readonly, nonatomic) unsigned int tcpConnectionReuseCount; @property (readonly, nonatomic) unsigned int tcpAppReportingDataStallCount; @property (readonly, nonatomic) unsigned int tcpAppDataStallTimerMsecs; @property (readonly, nonatomic) unsigned int connectionReportReason; @property (readonly, nonatomic) NSUUID *connectionUUID; @property (retain, nonatomic) NSUUID *externallyVisibleConnectionUUID; @property (readonly, nonatomic) NSUUID *parentUUID; @property (retain, nonatomic) NSUUID *externallyVisibleParentUUID; @property (retain, nonatomic) NSArray *externallyVisibleActivityUUIDs; @property (retain, nonatomic) NSDictionary *layer2Report; @property (retain, nonatomic) NSDictionary *deviceReport; @property (retain, nonatomic) NSString *bundleID; @property (retain, nonatomic) NSString *effectiveBundleID; + (id)protocolToTransportProtocolString:(unsigned int)a0; - (id)initWithJSONData:(id)a0; - (void).cxx_destruct; - (id)_createDataUsageSnapshotDictionaryFromStruct:(const struct netcore_stats_data_usage_snapshot { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; } *)a0; - (id)_createFallbackReportDictionaryFromStruct:(const struct netcore_stats_tcp_cell_fallback_report { struct netcore_stats_network_event { int x0; unsigned int x1; } x0[20]; struct netcore_stats_data_usage_snapshot { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; } x1[20]; int x2; unsigned int x3; unsigned int x4; unsigned int x5; BOOL x6; unsigned char x7[7]; } *)a0; - (id)_createStatisticsReportDictionaryFromStruct:(const struct netcore_stats_tcp_statistics_report { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; unsigned long long x11; unsigned long long x12; unsigned long long x13; unsigned long long x14; unsigned long long x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; unsigned int x24; unsigned int x25; unsigned int x26; unsigned int x27; unsigned int x28; unsigned int x29; unsigned int x30; unsigned int x31; unsigned int x32; int x33; int x34; int x35; unsigned char x36 : 1; unsigned char x37 : 1; unsigned char x38 : 1; unsigned char x39 : 1; unsigned char x40 : 1; unsigned char x41 : 1; unsigned char x42 : 1; unsigned char x43 : 1; unsigned char x44 : 1; unsigned char x45 : 1; unsigned char x46 : 1; unsigned char x47 : 1; unsigned char x48 : 4; unsigned char x49[6]; } *)a0; - (id)initWithTCPReport:(struct netcore_stats_tcp_report { union { struct { struct netcore_stats_tcp_statistics_report { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; unsigned long long x11; unsigned long long x12; unsigned long long x13; unsigned long long x14; unsigned long long x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; unsigned int x24; unsigned int x25; unsigned int x26; unsigned int x27; unsigned int x28; unsigned int x29; unsigned int x30; unsigned int x31; unsigned int x32; int x33; int x34; int x35; unsigned char x36 : 1; unsigned char x37 : 1; unsigned char x38 : 1; unsigned char x39 : 1; unsigned char x40 : 1; unsigned char x41 : 1; unsigned char x42 : 1; unsigned char x43 : 1; unsigned char x44 : 1; unsigned char x45 : 1; unsigned char x46 : 1; unsigned char x47 : 1; unsigned char x48 : 4; unsigned char x49[6]; } x0; struct netcore_stats_tcp_cell_fallback_report { struct netcore_stats_network_event { int x0; unsigned int x1; } x0[20]; struct netcore_stats_data_usage_snapshot { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; } x1[20]; int x2; unsigned int x3; unsigned int x4; unsigned int x5; BOOL x6; unsigned char x7[7]; } x1; struct netcore_stats_tcp_statistics_report { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; unsigned long long x11; unsigned long long x12; unsigned long long x13; unsigned long long x14; unsigned long long x15; unsigned int x16; unsigned int x17; unsigned int x18; unsigned int x19; unsigned int x20; unsigned int x21; unsigned int x22; unsigned int x23; unsigned int x24; unsigned int x25; unsigned int x26; unsigned int x27; unsigned int x28; unsigned int x29; unsigned int x30; unsigned int x31; unsigned int x32; int x33; int x34; int x35; unsigned char x36 : 1; unsigned char x37 : 1; unsigned char x38 : 1; unsigned char x39 : 1; unsigned char x40 : 1; unsigned char x41 : 1; unsigned char x42 : 1; unsigned char x43 : 1; unsigned char x44 : 1; unsigned char x45 : 1; unsigned char x46 : 1; unsigned char x47 : 1; unsigned char x48 : 4; unsigned char x49[6]; } x2[8]; int x3; unsigned int x4; } x0; struct nw_connection_report_s { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; unsigned long long x9; unsigned long long x10; unsigned long long x11; unsigned long long x12; unsigned long long x13; unsigned long long x14; unsigned long long x15; unsigned long long x16; unsigned long long x17; unsigned long long x18; unsigned long long x19; unsigned long long x20; unsigned long long x21; unsigned long long x22; unsigned long long x23; unsigned long long x24; unsigned int x25; unsigned int x26; unsigned int x27; unsigned int x28; unsigned int x29; unsigned int x30; unsigned int x31; unsigned int x32; unsigned int x33; unsigned int x34; unsigned int x35; unsigned int x36; unsigned int x37; unsigned int x38; unsigned int x39; unsigned int x40; unsigned int x41; unsigned int x42; unsigned int x43; unsigned int x44; unsigned int x45; unsigned int x46; unsigned int x47; unsigned int x48; unsigned int x49; unsigned int x50; unsigned int x51; int x52; int x53; int x54; int x55; int x56; int x57; int x58; int x59; int x60; int x61; unsigned char x62; unsigned char x63; unsigned char x64; unsigned char x65[16]; unsigned char x66[16]; unsigned char x67[50][16]; char x68[256]; char x69[256]; unsigned char x70; int x71; int x72; unsigned char x73 : 1; unsigned char x74 : 1; unsigned char x75 : 1; unsigned char x76 : 1; unsigned char x77 : 1; unsigned char x78 : 1; unsigned char x79 : 1; unsigned char x80 : 1; unsigned char x81 : 1; unsigned char x82 : 1; unsigned char x83 : 1; unsigned char x84 : 1; unsigned char x85 : 1; unsigned char x86 : 1; unsigned char x87 : 1; unsigned char x88 : 1; unsigned char x89 : 1; unsigned char x90 : 1; unsigned char x91 : 1; unsigned char x92 : 1; unsigned char x93 : 1; unsigned char x94 : 1; unsigned char x95 : 1; unsigned char x96 : 1; unsigned char x97 : 1; unsigned char x98 : 1; unsigned char x99 : 1; unsigned char x100 : 1; unsigned char x101 : 1; unsigned char x102 : 1; unsigned char x103 : 1; unsigned char x104 : 1; unsigned char x105 : 1; unsigned char x106 : 1; unsigned char x107 : 1; unsigned char x108 : 1; unsigned char x109 : 1; unsigned char x110 : 1; unsigned char x111 : 1; unsigned char x112 : 1; unsigned char x113 : 1; unsigned char x114 : 1; unsigned char x115 : 1; unsigned char x116 : 5; unsigned char x117[2]; struct nw_connection_protocol_establishment_report_s { char x0[32]; unsigned long long x1; unsigned long long x2; int x3; unsigned char x4[4]; } x118[10]; struct nw_connection_proxy_hop_s { char x0[64]; unsigned char x1[0]; } x119[2]; unsigned char x120[0]; } x1; } x0; BOOL x1; BOOL x2; unsigned char x3[6]; } *)a0 length:(unsigned long long)a1 clientIdentifier:(id)a2 sourceIdentifier:(id)a3; - (BOOL)tlsHandshakeTimedOut; @end