qgrpcstream: remove writeMessage(const QPM*)

It's sufficient to only provide the writeMessage(const QPM&) member. No
template magic is needed and it's more C++ish style wise.

We can still provide the pointer overload if we want to at some point.

Task-number: QTBUG-123625
Pick-to: 6.8
Change-Id: Ie068f241503487e24091c82e166f9c7d8805d247
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
This commit is contained in:
Dennis Oberst 2024-07-17 10:18:23 +02:00
parent d372e9ab23
commit 584ab8849a
4 changed files with 9 additions and 49 deletions

View File

@ -5,8 +5,6 @@
#include <QtGrpc/qgrpcoperationcontext.h>
#include <QtGrpc/qgrpcstream.h>
#include <QtCore/qthread.h>
QT_BEGIN_NAMESPACE
/*!
@ -48,12 +46,6 @@ QGrpcServerStream::~QGrpcServerStream() = default;
client-side gRPC stream functionality from gRPC client side.
*/
/*!
\fn template<typename T> void QGrpcClientStream::writeMessage(const T &message)
Serializes \a message and sends it to the server.
*/
QGrpcClientStream::QGrpcClientStream(std::shared_ptr<QGrpcOperationContext> operationContext,
QObject *parent)
: QGrpcOperation(std::move(operationContext), parent)
@ -66,12 +58,11 @@ QGrpcClientStream::QGrpcClientStream(std::shared_ptr<QGrpcOperationContext> oper
QGrpcClientStream::~QGrpcClientStream() = default;
/*!
\since 6.8
Serializes \a message and sends it to the server.
*/
void QGrpcClientStream::writeMessage(const QProtobufMessage *message)
void QGrpcClientStream::writeMessage(const QProtobufMessage &message)
{
QByteArray data = QGrpcOperation::operationContext()->serializer()->serialize(message);
QByteArray data = QGrpcOperation::operationContext()->serializer()->serialize(&message);
emit QGrpcOperation::operationContext()->writeMessageRequested(data);
}
@ -100,12 +91,6 @@ void QGrpcClientStream::writesDone()
The signal is emitted when the stream receives an updated value from server.
*/
/*!
\fn template<typename T> void QGrpcBidirStream::writeMessage(const T &message)
Serializes \a message and sends it to the server.
*/
QGrpcBidirStream::QGrpcBidirStream(std::shared_ptr<QGrpcOperationContext> operationContext,
QObject *parent)
: QGrpcOperation(std::move(operationContext), parent)
@ -120,12 +105,11 @@ QGrpcBidirStream::QGrpcBidirStream(std::shared_ptr<QGrpcOperationContext> operat
QGrpcBidirStream::~QGrpcBidirStream() = default;
/*!
\since 6.8
Serializes \a message and sends it to the server.
*/
void QGrpcBidirStream::writeMessage(const QProtobufMessage *message)
void QGrpcBidirStream::writeMessage(const QProtobufMessage &message)
{
QByteArray data = QGrpcOperation::operationContext()->serializer()->serialize(message);
QByteArray data = QGrpcOperation::operationContext()->serializer()->serialize(&message);
emit QGrpcOperation::operationContext()->writeMessageRequested(data);
}

View File

@ -8,12 +8,7 @@
#include <QtGrpc/qgrpcoperation.h>
#include <QtGrpc/qtgrpcglobal.h>
#include <QtCore/qbytearray.h>
#include <QtCore/qlist.h>
#include <QtCore/qstring.h>
#include <memory>
#include <type_traits>
QT_BEGIN_NAMESPACE
@ -41,17 +36,8 @@ public:
explicit QGrpcClientStream(std::shared_ptr<QGrpcOperationContext> operationContext,
QObject *parent = nullptr);
~QGrpcClientStream() override;
#ifdef Q_QDOC
template <typename T>
#else
template <typename T, std::enable_if_t<!std::is_pointer_v<T>, bool> = true>
#endif
void writeMessage(const T &message)
{
writeMessage(&message);
}
void writeMessage(const QProtobufMessage *message);
void writeMessage(const QProtobufMessage &message);
void writesDone();
private:
@ -67,19 +53,9 @@ public:
QObject *parent = nullptr);
~QGrpcBidirStream() override;
#ifdef Q_QDOC
template <typename T>
#else
template <typename T, std::enable_if_t<!std::is_pointer_v<T>, bool> = true>
#endif
void writeMessage(const T &message)
{
writeMessage(&message);
}
void writeMessage(const QProtobufMessage *message);
void writeMessage(const QProtobufMessage &message);
void writesDone();
Q_SIGNALS:
void messageReceived();

View File

@ -28,7 +28,7 @@ protected:
qWarning() << "Unable to write message; stream is finished";
return;
}
m_stream->writeMessage(&message);
m_stream->writeMessage(message);
}
private:

View File

@ -181,7 +181,7 @@ void QtGrpcClientBenchmark::bidirStreaming()
if (response.hasPayload())
recvBytes += static_cast<quint64>(response.payload().size());
request.setPing(counter);
stream->writeMessage(&request);
stream->writeMessage(request);
if (request.hasPayload())
sendBytes += static_cast<quint64>(request.payload().size());
++counter;