From cc39238bbb8fa02ced2f838f8d7511dda164db55 Mon Sep 17 00:00:00 2001 From: Dennis Oberst Date: Wed, 17 Jul 2024 09:45:25 +0200 Subject: [PATCH] Revert QGrpcDuration and use std::chrono::milliseconds directly again This aligns with Qt's chrono first. This commit reverts: 7a7e5a1c0c4f8070cf153f2b2979bd2f8d5f7ea8. Task-number: QTBUG-123625 Pick-to: 6.8 Change-Id: If69b317e7cb52a90dfb2b5fd5859282acc51155c Reviewed-by: Alexey Edelev --- src/grpc/qgrpccalloptions.cpp | 6 +++--- src/grpc/qgrpccalloptions.h | 5 +++-- src/grpc/qgrpcchanneloptions.cpp | 6 +++--- src/grpc/qgrpcchanneloptions.h | 5 +++-- src/grpc/qgrpcdefs.h | 3 --- src/grpc/qgrpcduration.qdoc | 12 ------------ src/grpcquick/qqmlgrpccalloptions.cpp | 6 ++++-- src/grpcquick/qqmlgrpcchanneloptions.cpp | 7 ++++--- .../shared/client_test_common/grpcclienttestbase.cpp | 2 +- .../grpc/qgrpccalloptions/tst_qgrpccalloptions.cpp | 4 ++-- .../qgrpcchanneloptions/tst_qgrpcchanneloptions.cpp | 4 ++-- 11 files changed, 25 insertions(+), 35 deletions(-) delete mode 100644 src/grpc/qgrpcduration.qdoc diff --git a/src/grpc/qgrpccalloptions.cpp b/src/grpc/qgrpccalloptions.cpp index 6dab2af0..b45731fc 100644 --- a/src/grpc/qgrpccalloptions.cpp +++ b/src/grpc/qgrpccalloptions.cpp @@ -23,7 +23,7 @@ using namespace Qt::StringLiterals; class QGrpcCallOptionsPrivate : public QSharedData { public: - std::optional deadline; + std::optional deadline; QGrpcMetadata metadata; }; @@ -89,7 +89,7 @@ QGrpcCallOptions::operator QVariant() const /*! Sets deadline value with \a deadline and returns updated QGrpcCallOptions object. */ -QGrpcCallOptions &QGrpcCallOptions::setDeadline(QGrpcDuration deadline) +QGrpcCallOptions &QGrpcCallOptions::setDeadline(std::chrono::milliseconds deadline) { if (d_ptr->deadline == deadline) return *this; @@ -139,7 +139,7 @@ QGrpcCallOptions &QGrpcCallOptions::setMetadata(QGrpcMetadata &&metadata) If value was not set returns empty std::optional. */ -std::optional QGrpcCallOptions::deadline() const noexcept +std::optional QGrpcCallOptions::deadline() const noexcept { Q_D(const QGrpcCallOptions); return d->deadline; diff --git a/src/grpc/qgrpccalloptions.h b/src/grpc/qgrpccalloptions.h index 70003129..7e21229f 100644 --- a/src/grpc/qgrpccalloptions.h +++ b/src/grpc/qgrpccalloptions.h @@ -11,6 +11,7 @@ #include #include +#include #include QT_BEGIN_NAMESPACE @@ -37,11 +38,11 @@ public: void swap(QGrpcCallOptions &other) noexcept { d_ptr.swap(other.d_ptr); } - Q_GRPC_EXPORT QGrpcCallOptions &setDeadline(QGrpcDuration deadline); + Q_GRPC_EXPORT QGrpcCallOptions &setDeadline(std::chrono::milliseconds deadline); Q_GRPC_EXPORT QGrpcCallOptions &setMetadata(const QGrpcMetadata &metadata); Q_GRPC_EXPORT QGrpcCallOptions &setMetadata(QGrpcMetadata &&metadata); - [[nodiscard]] Q_GRPC_EXPORT std::optional deadline() const noexcept; + [[nodiscard]] Q_GRPC_EXPORT std::optional deadline() const noexcept; [[nodiscard]] Q_GRPC_EXPORT const QGrpcMetadata &metadata() const & noexcept; [[nodiscard]] Q_GRPC_EXPORT QGrpcMetadata metadata() &&; diff --git a/src/grpc/qgrpcchanneloptions.cpp b/src/grpc/qgrpcchanneloptions.cpp index 3d971660..62c61c57 100644 --- a/src/grpc/qgrpcchanneloptions.cpp +++ b/src/grpc/qgrpcchanneloptions.cpp @@ -26,7 +26,7 @@ using namespace QtGrpc; class QGrpcChannelOptionsPrivate : public QSharedData { public: - std::optional deadline; + std::optional deadline; QGrpcMetadata metadata; QGrpcSerializationFormat serializationFormat; #if QT_CONFIG(ssl) @@ -96,7 +96,7 @@ QGrpcChannelOptions::operator QVariant() const /*! Sets deadline value with \a deadline and returns updated QGrpcChannelOptions object. */ -QGrpcChannelOptions &QGrpcChannelOptions::setDeadline(QGrpcDuration deadline) +QGrpcChannelOptions &QGrpcChannelOptions::setDeadline(std::chrono::milliseconds deadline) { if (d_ptr->deadline == deadline) return *this; @@ -162,7 +162,7 @@ QGrpcChannelOptions::setSerializationFormat(const QGrpcSerializationFormat &form If value was not set returns empty std::optional. */ -std::optional QGrpcChannelOptions::deadline() const noexcept +std::optional QGrpcChannelOptions::deadline() const noexcept { Q_D(const QGrpcChannelOptions); return d->deadline; diff --git a/src/grpc/qgrpcchanneloptions.h b/src/grpc/qgrpcchanneloptions.h index d6c8313d..62b2ac00 100644 --- a/src/grpc/qgrpcchanneloptions.h +++ b/src/grpc/qgrpcchanneloptions.h @@ -16,6 +16,7 @@ #include #include +#include #include QT_BEGIN_NAMESPACE @@ -43,13 +44,13 @@ public: void swap(QGrpcChannelOptions &other) noexcept { d_ptr.swap(other.d_ptr); } - Q_GRPC_EXPORT QGrpcChannelOptions &setDeadline(QGrpcDuration deadline); + Q_GRPC_EXPORT QGrpcChannelOptions &setDeadline(std::chrono::milliseconds deadline); Q_GRPC_EXPORT QGrpcChannelOptions &setMetadata(const QGrpcMetadata &metadata); Q_GRPC_EXPORT QGrpcChannelOptions &setMetadata(QGrpcMetadata &&metadata); Q_GRPC_EXPORT QGrpcChannelOptions & setSerializationFormat(const QGrpcSerializationFormat &format); - [[nodiscard]] Q_GRPC_EXPORT std::optional deadline() const noexcept; + [[nodiscard]] Q_GRPC_EXPORT std::optional deadline() const noexcept; [[nodiscard]] Q_GRPC_EXPORT const QGrpcMetadata &metadata() const & noexcept; [[nodiscard]] Q_GRPC_EXPORT QGrpcMetadata metadata() &&; [[nodiscard]] Q_GRPC_EXPORT QGrpcSerializationFormat serializationFormat() const; diff --git a/src/grpc/qgrpcdefs.h b/src/grpc/qgrpcdefs.h index e0c30bd3..110a3a35 100644 --- a/src/grpc/qgrpcdefs.h +++ b/src/grpc/qgrpcdefs.h @@ -6,13 +6,11 @@ #include -#include #include #if 0 // Create a forwarding header # pragma qt_class(QGrpcMetadata) -# pragma qt_class(QGrpcDuration) # pragma qt_sync_stop_processing #endif @@ -21,7 +19,6 @@ QT_BEGIN_NAMESPACE class QDebug; using QGrpcMetadata = std::unordered_multimap; -using QGrpcDuration = std::chrono::milliseconds; #ifndef QT_NO_DEBUG_STREAM Q_GRPC_EXPORT QDebug operator<<(QDebug debug, const QGrpcMetadata &metadata); diff --git a/src/grpc/qgrpcduration.qdoc b/src/grpc/qgrpcduration.qdoc deleted file mode 100644 index 0198afa6..00000000 --- a/src/grpc/qgrpcduration.qdoc +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (C) 2024 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only - -/*! - \typealias QGrpcDuration - \inmodule QtGrpc - \relates std::chrono::milliseconds - \brief QGrpcDuration is a typedef for \l - {https://en.cppreference.com/w/cpp/chrono/duration} - {std::chrono::milliseconds} -*/ - diff --git a/src/grpcquick/qqmlgrpccalloptions.cpp b/src/grpcquick/qqmlgrpccalloptions.cpp index 636b0b9b..b68128ea 100644 --- a/src/grpcquick/qqmlgrpccalloptions.cpp +++ b/src/grpcquick/qqmlgrpccalloptions.cpp @@ -5,6 +5,8 @@ #include +using namespace std::chrono_literals; + QT_BEGIN_NAMESPACE QQmlGrpcCallOptions::QQmlGrpcCallOptions(QObject *parent) @@ -17,13 +19,13 @@ QQmlGrpcCallOptions::~QQmlGrpcCallOptions() = default; qint64 QQmlGrpcCallOptions::deadline() const { - QGrpcDuration ms = m_options.deadline().value_or(QGrpcDuration(0)); + std::chrono::milliseconds ms = m_options.deadline().value_or(0ms); return ms.count(); } void QQmlGrpcCallOptions::setDeadline(qint64 value) { - QGrpcDuration ms(value); + std::chrono::milliseconds ms(value); m_options.setDeadline(ms); emit deadlineChanged(); } diff --git a/src/grpcquick/qqmlgrpcchanneloptions.cpp b/src/grpcquick/qqmlgrpcchanneloptions.cpp index 3ddade4e..1f34b7ea 100644 --- a/src/grpcquick/qqmlgrpcchanneloptions.cpp +++ b/src/grpcquick/qqmlgrpcchanneloptions.cpp @@ -8,6 +8,8 @@ #include +using namespace std::chrono_literals; + QT_BEGIN_NAMESPACE class QQmlGrpcChannelOptionsPrivate : public QObjectPrivate @@ -36,15 +38,14 @@ QQmlGrpcChannelOptions::QQmlGrpcChannelOptions(QObject *parent) qint64 QQmlGrpcChannelOptions::deadline() const { - QGrpcDuration - ms = d_func()->m_options.deadline().value_or(QGrpcDuration(0)); + std::chrono::milliseconds ms = d_func()->m_options.deadline().value_or(0ms); return ms.count(); } void QQmlGrpcChannelOptions::setDeadline(qint64 value) { Q_D(QQmlGrpcChannelOptions); - QGrpcDuration ms(value); + std::chrono::milliseconds ms(value); d->m_options.setDeadline(ms); emit deadlineChanged(); } diff --git a/tests/auto/grpc/client/shared/client_test_common/grpcclienttestbase.cpp b/tests/auto/grpc/client/shared/client_test_common/grpcclienttestbase.cpp index 43f33f44..154557b3 100644 --- a/tests/auto/grpc/client/shared/client_test_common/grpcclienttestbase.cpp +++ b/tests/auto/grpc/client/shared/client_test_common/grpcclienttestbase.cpp @@ -84,7 +84,7 @@ void GrpcClientTestBase::initTestCase_data() if (m_channels.testFlag(Channel::WithChannelDeadline)) { constexpr auto - channelTimeout = QGrpcDuration(static_cast(MessageLatency * 0.25)); + channelTimeout = std::chrono::milliseconds(static_cast(MessageLatency * 0.25)); QTest::newRow("Http2ClientDeadline") << QFlags{ Channel::Qt, Channel::WithChannelDeadline } << std::shared_ptr< diff --git a/tests/auto/grpc/qgrpccalloptions/tst_qgrpccalloptions.cpp b/tests/auto/grpc/qgrpccalloptions/tst_qgrpccalloptions.cpp index e7753398..40afa65d 100644 --- a/tests/auto/grpc/qgrpccalloptions/tst_qgrpccalloptions.cpp +++ b/tests/auto/grpc/qgrpccalloptions/tst_qgrpccalloptions.cpp @@ -61,7 +61,7 @@ void QGrpcCallOptionsTest::hasImplicitQVariant() const void QGrpcCallOptionsTest::hasMemberSwap() const { - constexpr QGrpcDuration Dur = 50ms; + constexpr std::chrono::milliseconds Dur = 50ms; QGrpcCallOptions o1; o1.setDeadline(Dur); @@ -101,7 +101,7 @@ void QGrpcCallOptionsTest::propertyMetadata() const void QGrpcCallOptionsTest::propertyDeadline() const { - constexpr QGrpcDuration Dur = 50ms; + constexpr std::chrono::milliseconds Dur = 50ms; QGrpcCallOptions o1; auto o1Detach = o1; diff --git a/tests/auto/grpc/qgrpcchanneloptions/tst_qgrpcchanneloptions.cpp b/tests/auto/grpc/qgrpcchanneloptions/tst_qgrpcchanneloptions.cpp index 004f71ae..b94a0dc6 100644 --- a/tests/auto/grpc/qgrpcchanneloptions/tst_qgrpcchanneloptions.cpp +++ b/tests/auto/grpc/qgrpcchanneloptions/tst_qgrpcchanneloptions.cpp @@ -65,7 +65,7 @@ void QGrpcChannelOptionsTest::hasImplicitQVariant() const void QGrpcChannelOptionsTest::hasMemberSwap() const { - constexpr QGrpcDuration Dur = 50ms; + constexpr std::chrono::milliseconds Dur = 50ms; QGrpcChannelOptions o1; o1.setDeadline(Dur); @@ -104,7 +104,7 @@ void QGrpcChannelOptionsTest::propertyMetadata() const void QGrpcChannelOptionsTest::propertyDeadline() const { - constexpr QGrpcDuration Dur = 50ms; + constexpr std::chrono::milliseconds Dur = 50ms; QGrpcChannelOptions o1; auto o1Detach = o1;