<!--
{
  "availability" : [
    "iOS: 12.0.0 -",
    "iPadOS: 12.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.14.0 -",
    "tvOS: 12.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Network",
  "identifier" : "/documentation/Network/nw_data_transfer_report_t",
  "metadataVersion" : "0.1.0",
  "role" : "Type Alias",
  "symbol" : {
    "kind" : "Type Alias",
    "modules" : [
      "Network"
    ],
    "preciseIdentifier" : "c:@T@nw_data_transfer_report_t"
  },
  "title" : "nw_data_transfer_report_t"
}
-->

# nw_data_transfer_report_t

A report that provides metrics about data being sent and received on a connection.

```
typealias nw_data_transfer_report_t = any OS_nw_data_transfer_report
```

## Topics

### Collecting Reports

[`nw_data_transfer_report_collect(_:_:_:)`](/documentation/Network/nw_data_transfer_report_collect(_:_:_:))

Stops an outstanding data transfer report and calculates the results.

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

A block that is delivered when a data transfer report is fully collected.

[`nw_data_transfer_report_get_state(_:)`](/documentation/Network/nw_data_transfer_report_get_state(_:))

Checks whether a data transfer report is collected.

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

States indicating whether a data transfer report is collected yet.

### Identifying Paths

[`nw_data_transfer_report_get_path_count(_:)`](/documentation/Network/nw_data_transfer_report_get_path_count(_:))

Checks the number of valid paths in the report.

[`nw_data_transfer_report_get_duration_milliseconds(_:)`](/documentation/Network/nw_data_transfer_report_get_duration_milliseconds(_:))

Checks the duration of the data transfer report, from when it was started to when it was collected.

[`nw_data_transfer_report_copy_path_interface(_:_:)`](/documentation/Network/nw_data_transfer_report_copy_path_interface(_:_:))

Accesses the network interface the path used.

### Inspecting Application Metrics

[`nw_data_transfer_report_get_received_application_byte_count(_:_:)`](/documentation/Network/nw_data_transfer_report_get_received_application_byte_count(_:_:))

Accesses the number of bytes the connection delivered.

[`nw_data_transfer_report_get_sent_application_byte_count(_:_:)`](/documentation/Network/nw_data_transfer_report_get_sent_application_byte_count(_:_:))

Accesses the number of bytes sent on the connection.

### Inspecting Transport Metrics

[`nw_data_transfer_report_get_received_transport_byte_count(_:_:)`](/documentation/Network/nw_data_transfer_report_get_received_transport_byte_count(_:_:))

Accesses the number of bytes the transport protocol delivered.

[`nw_data_transfer_report_get_received_transport_duplicate_byte_count(_:_:)`](/documentation/Network/nw_data_transfer_report_get_received_transport_duplicate_byte_count(_:_:))

Accesses the number of duplicated bytes the transport protocol detected.

[`nw_data_transfer_report_get_received_transport_out_of_order_byte_count(_:_:)`](/documentation/Network/nw_data_transfer_report_get_received_transport_out_of_order_byte_count(_:_:))

Accesses the number of bytes the transport protocol received out of order.

[`nw_data_transfer_report_get_sent_transport_byte_count(_:_:)`](/documentation/Network/nw_data_transfer_report_get_sent_transport_byte_count(_:_:))

Accesses the number of bytes sent into the transport protocol.

[`nw_data_transfer_report_get_sent_transport_retransmitted_byte_count(_:_:)`](/documentation/Network/nw_data_transfer_report_get_sent_transport_retransmitted_byte_count(_:_:))

Accesses the number of bytes the transport protocol retransmitted.

[`nw_data_transfer_report_get_transport_smoothed_rtt_milliseconds(_:_:)`](/documentation/Network/nw_data_transfer_report_get_transport_smoothed_rtt_milliseconds(_:_:))

Accesses the smoothed round-trip time the transport protocol measured, in milliseconds.

[`nw_data_transfer_report_get_transport_minimum_rtt_milliseconds(_:_:)`](/documentation/Network/nw_data_transfer_report_get_transport_minimum_rtt_milliseconds(_:_:))

Accesses the minimum round-trip time the transport protocol measured, in milliseconds.

[`nw_data_transfer_report_get_transport_rtt_variance(_:_:)`](/documentation/Network/nw_data_transfer_report_get_transport_rtt_variance(_:_:))

Accesses the variance of the round-trip time the transport protocol measured.

### Inspecting Packet Metrics

[`nw_data_transfer_report_get_received_ip_packet_count(_:_:)`](/documentation/Network/nw_data_transfer_report_get_received_ip_packet_count(_:_:))

Accesses the number of IP packets the connection received.

[`nw_data_transfer_report_get_sent_ip_packet_count(_:_:)`](/documentation/Network/nw_data_transfer_report_get_sent_ip_packet_count(_:_:))

Accesses the number of IP packets the connection sent.



---

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)