Add WriteFlags::TIMESTAMP_TX
Summary: `WriteFlags::EOR` currently marks the end of a record (e.g., an HTTP response) and is used to request ACK timestamping. `WriteFlags::TIMESTAMP_TX` will be used to request timestamping when the entire write buffer has been transmitted by the NIC. If hardware timestamps are unavailable, then the timestamp will be taken when the the entire buffer has been handed to the NIC by the kernel. TX timestamps can be compared to send() timestamps to determine how long the write buffer was waiting in the kernel to be sent to the NIC. In the case of a large CWND + LOWAT, this could be a significant amount of time. In addition, TX timestamps help with throughput calculations as they enable the precise transmit time to be determined. We may want to rename `WriteFlags::EOR` or add a separate flag for ACK timestamping. For now, I've clarified the purpose of this field. Reviewed By: yfeldblum Differential Revision: D15081941 fbshipit-source-id: 239833cd5a0413e7468840960118a038ffdac068
Showing
Please register or sign in to comment