quic/api/Observer.cpp (168 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. */ #include <quic/api/Observer.h> #include <utility> namespace quic { Observer::WriteEvent::Builder&& Observer::WriteEvent::Builder::setOutstandingPackets( const std::deque<OutstandingPacket>& outstandingPacketsIn) { maybeOutstandingPacketsRef = outstandingPacketsIn; return std::move(*this); } Observer::WriteEvent::Builder&& Observer::WriteEvent::Builder::setWriteCount( const uint64_t writeCountIn) { maybeWriteCount = writeCountIn; return std::move(*this); } Observer::WriteEvent::Builder&& Observer::WriteEvent::Builder::setLastPacketSentTime( const TimePoint& lastPacketSentTimeIn) { maybeLastPacketSentTime = lastPacketSentTimeIn; return std::move(*this); } Observer::WriteEvent::Builder&& Observer::WriteEvent::Builder::setLastPacketSentTime( const folly::Optional<TimePoint>& maybeLastPacketSentTimeIn) { maybeLastPacketSentTime = maybeLastPacketSentTimeIn; return std::move(*this); } Observer::WriteEvent::Builder&& Observer::WriteEvent::Builder::setCwndInBytes( const folly::Optional<uint64_t>& maybeCwndInBytesIn) { maybeCwndInBytes = maybeCwndInBytesIn; return std::move(*this); } Observer::WriteEvent::Builder&& Observer::WriteEvent::Builder::setWritableBytes( const folly::Optional<uint64_t>& maybeWritableBytesIn) { maybeWritableBytes = maybeWritableBytesIn; return std::move(*this); } Observer::WriteEvent Observer::WriteEvent::Builder::build() && { return WriteEvent(*this); } Observer::WriteEvent::WriteEvent(const WriteEvent::BuilderFields& builderFields) : outstandingPackets(*CHECK_NOTNULL( builderFields.maybeOutstandingPacketsRef.get_pointer())), writeCount(*CHECK_NOTNULL(builderFields.maybeWriteCount.get_pointer())), maybeLastPacketSentTime(builderFields.maybeLastPacketSentTime), maybeCwndInBytes(builderFields.maybeCwndInBytes), maybeWritableBytes(builderFields.maybeWritableBytes) {} Observer::AppLimitedEvent::Builder&& Observer::AppLimitedEvent::Builder::setOutstandingPackets( const std::deque<OutstandingPacket>& outstandingPacketsIn) { maybeOutstandingPacketsRef = outstandingPacketsIn; return std::move(*this); } Observer::AppLimitedEvent::Builder&& Observer::AppLimitedEvent::Builder::setWriteCount(const uint64_t writeCountIn) { maybeWriteCount = writeCountIn; return std::move(*this); } Observer::AppLimitedEvent::Builder&& Observer::AppLimitedEvent::Builder::setLastPacketSentTime( const TimePoint& lastPacketSentTimeIn) { maybeLastPacketSentTime = lastPacketSentTimeIn; return std::move(*this); } Observer::AppLimitedEvent::Builder&& Observer::AppLimitedEvent::Builder::setLastPacketSentTime( const folly::Optional<TimePoint>& maybeLastPacketSentTimeIn) { maybeLastPacketSentTime = maybeLastPacketSentTimeIn; return std::move(*this); } Observer::AppLimitedEvent::Builder&& Observer::AppLimitedEvent::Builder::setCwndInBytes( const folly::Optional<uint64_t>& maybeCwndInBytesIn) { maybeCwndInBytes = maybeCwndInBytesIn; return std::move(*this); } Observer::AppLimitedEvent::Builder&& Observer::AppLimitedEvent::Builder::setWritableBytes( const folly::Optional<uint64_t>& maybeWritableBytesIn) { maybeWritableBytes = maybeWritableBytesIn; return std::move(*this); } Observer::AppLimitedEvent Observer::AppLimitedEvent::Builder::build() && { return AppLimitedEvent(std::move(*this)); } Observer::AppLimitedEvent::AppLimitedEvent( Observer::AppLimitedEvent::BuilderFields&& builderFields) : WriteEvent(builderFields) {} Observer::PacketsWrittenEvent::Builder&& Observer::PacketsWrittenEvent::Builder::setOutstandingPackets( const std::deque<OutstandingPacket>& outstandingPacketsIn) { maybeOutstandingPacketsRef = outstandingPacketsIn; return std::move(*this); } Observer::PacketsWrittenEvent::Builder&& Observer::PacketsWrittenEvent::Builder::setWriteCount( const uint64_t writeCountIn) { maybeWriteCount = writeCountIn; return std::move(*this); } Observer::PacketsWrittenEvent::Builder&& Observer::PacketsWrittenEvent::Builder::setLastPacketSentTime( const TimePoint& lastPacketSentTimeIn) { maybeLastPacketSentTime = lastPacketSentTimeIn; return std::move(*this); } Observer::PacketsWrittenEvent::Builder&& Observer::PacketsWrittenEvent::Builder::setLastPacketSentTime( const folly::Optional<TimePoint>& maybeLastPacketSentTimeIn) { maybeLastPacketSentTime = maybeLastPacketSentTimeIn; return std::move(*this); } Observer::PacketsWrittenEvent::Builder&& Observer::PacketsWrittenEvent::Builder::setCwndInBytes( const folly::Optional<uint64_t>& maybeCwndInBytesIn) { maybeCwndInBytes = maybeCwndInBytesIn; return std::move(*this); } Observer::PacketsWrittenEvent::Builder&& Observer::PacketsWrittenEvent::Builder::setWritableBytes( const folly::Optional<uint64_t>& maybeWritableBytesIn) { maybeWritableBytes = maybeWritableBytesIn; return std::move(*this); } Observer::PacketsWrittenEvent::Builder&& Observer::PacketsWrittenEvent::Builder::setNumPacketsWritten( const uint64_t numPacketsWrittenIn) { maybeNumPacketsWritten = numPacketsWrittenIn; return std::move(*this); } Observer::PacketsWrittenEvent::Builder&& Observer::PacketsWrittenEvent::Builder::setNumAckElicitingPacketsWritten( const uint64_t numAckElicitingPacketsWrittenIn) { maybeNumAckElicitingPacketsWritten = numAckElicitingPacketsWrittenIn; return std::move(*this); } Observer::PacketsWrittenEvent::Builder&& Observer::PacketsWrittenEvent::Builder::setNumBytesWritten( const uint64_t numBytesWrittenIn) { maybeNumBytesWritten = numBytesWrittenIn; return std::move(*this); } Observer::PacketsWrittenEvent Observer::PacketsWrittenEvent::Builder::build() && { return PacketsWrittenEvent(std::move(*this)); } Observer::PacketsWrittenEvent::PacketsWrittenEvent( Observer::PacketsWrittenEvent::BuilderFields&& builderFields) : WriteEvent(builderFields), numPacketsWritten( *CHECK_NOTNULL(builderFields.maybeNumPacketsWritten.get_pointer())), numAckElicitingPacketsWritten(*CHECK_NOTNULL( builderFields.maybeNumAckElicitingPacketsWritten.get_pointer())), numBytesWritten( *CHECK_NOTNULL(builderFields.maybeNumBytesWritten.get_pointer())) {} Observer::AcksProcessedEvent::Builder&& Observer::AcksProcessedEvent::Builder::setAckEvents( const std::vector<AckEvent>& ackEventsIn) { maybeAckEventsRef = ackEventsIn; return std::move(*this); } Observer::AcksProcessedEvent Observer::AcksProcessedEvent::Builder::build() && { return AcksProcessedEvent(*this); } Observer::AcksProcessedEvent::AcksProcessedEvent( Observer::AcksProcessedEvent::BuilderFields builderFields) : ackEvents(*CHECK_NOTNULL(builderFields.maybeAckEventsRef.get_pointer())) { } } // namespace quic