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 <alexey.edelev@qt.io>
This commit is contained in:
Dennis Oberst 2024-07-17 09:45:25 +02:00
parent c746115e11
commit cc39238bbb
11 changed files with 25 additions and 35 deletions

View File

@ -23,7 +23,7 @@ using namespace Qt::StringLiterals;
class QGrpcCallOptionsPrivate : public QSharedData
{
public:
std::optional<QGrpcDuration> deadline;
std::optional<std::chrono::milliseconds> 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<QGrpcDuration> QGrpcCallOptions::deadline() const noexcept
std::optional<std::chrono::milliseconds> QGrpcCallOptions::deadline() const noexcept
{
Q_D(const QGrpcCallOptions);
return d->deadline;

View File

@ -11,6 +11,7 @@
#include <QtCore/qstringfwd.h>
#include <QtCore/qtclasshelpermacros.h>
#include <chrono>
#include <optional>
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<QGrpcDuration> deadline() const noexcept;
[[nodiscard]] Q_GRPC_EXPORT std::optional<std::chrono::milliseconds> deadline() const noexcept;
[[nodiscard]] Q_GRPC_EXPORT const QGrpcMetadata &metadata() const & noexcept;
[[nodiscard]] Q_GRPC_EXPORT QGrpcMetadata metadata() &&;

View File

@ -26,7 +26,7 @@ using namespace QtGrpc;
class QGrpcChannelOptionsPrivate : public QSharedData
{
public:
std::optional<QGrpcDuration> deadline;
std::optional<std::chrono::milliseconds> 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<QGrpcDuration> QGrpcChannelOptions::deadline() const noexcept
std::optional<std::chrono::milliseconds> QGrpcChannelOptions::deadline() const noexcept
{
Q_D(const QGrpcChannelOptions);
return d->deadline;

View File

@ -16,6 +16,7 @@
#include <QtCore/qtclasshelpermacros.h>
#include <QtCore/qurl.h>
#include <chrono>
#include <optional>
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<QGrpcDuration> deadline() const noexcept;
[[nodiscard]] Q_GRPC_EXPORT std::optional<std::chrono::milliseconds> 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;

View File

@ -6,13 +6,11 @@
#include <QtGrpc/qtgrpcglobal.h>
#include <chrono>
#include <unordered_map>
#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<QByteArray, QByteArray>;
using QGrpcDuration = std::chrono::milliseconds;
#ifndef QT_NO_DEBUG_STREAM
Q_GRPC_EXPORT QDebug operator<<(QDebug debug, const QGrpcMetadata &metadata);

View File

@ -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}
*/

View File

@ -5,6 +5,8 @@
#include <chrono>
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();
}

View File

@ -8,6 +8,8 @@
#include <chrono>
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();
}

View File

@ -84,7 +84,7 @@ void GrpcClientTestBase::initTestCase_data()
if (m_channels.testFlag(Channel::WithChannelDeadline)) {
constexpr auto
channelTimeout = QGrpcDuration(static_cast<int64_t>(MessageLatency * 0.25));
channelTimeout = std::chrono::milliseconds(static_cast<int64_t>(MessageLatency * 0.25));
QTest::newRow("Http2ClientDeadline")
<< QFlags{ Channel::Qt, Channel::WithChannelDeadline }
<< std::shared_ptr<

View File

@ -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;

View File

@ -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;