quic/state/QuicConnectionStats.h (32 lines of code) (raw):

/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #pragma once #include <chrono> #include <string> #include <folly/SocketAddress.h> #include <quic/QuicConstants.h> #include <quic/congestion_control/CongestionController.h> namespace quic { struct QuicConnectionStats { uint8_t workerID{0}; uint32_t numConnIDs{0}; folly::SocketAddress localAddress; folly::SocketAddress peerAddress; std::chrono::duration<float> duration{0}; uint64_t cwnd_bytes{0}; CongestionControlType congestionController; CongestionControllerStats congestionControllerStats; uint32_t ptoCount{0}; std::chrono::microseconds srtt{0}; std::chrono::microseconds mrtt{0}; std::chrono::microseconds rttvar{0}; uint64_t peerAckDelayExponent{0}; uint64_t udpSendPacketLen{0}; uint64_t numStreams{0}; std::string clientChosenDestConnectionId; std::string clientConnectionId; std::string serverConnectionId; uint64_t totalBytesSent{0}; uint64_t totalBytesReceived{0}; uint64_t totalBytesRetransmitted{0}; uint32_t version{0}; }; } // namespace quic