(slow in answering so a bit of redundancy from the prev message) We indeed don't have a guide/example on how to implement a custom channel. This is targeted towards advanced users who might need such a thing in e.g. the embedded world.
Our client implementation supports all four RPC types (unary, server-stream, client-stream, bidir-stream). This can be found here: https://doc-snapshots.qt.io/qt6-dev/qtgrpc-service-client-methods.html. Should we really consider making a cross-api comparison between QtGrpc and grpc/c++ grpc/java and so on in our docs? Perhaps we could add such a section in the overview or create a dedicated place for it. It shouldn't do any harm IMO. So to boil things down: * Should we provide a tutorial for creating a QAbstractGrpcChannel implementation? * Should we add an overview / comparison of our client api usage between other well-known implementations? -> Explicitly mention that QtGrpc in its current state is a client-side implementation. I'll do that. best, ________________________ Dennis Oberst Software Engineer The Qt Company GmbH Erich-Thilo-Str. 10 12489 Berlin, Germany dennis.obe...@qt.io https://www.qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B ________________________________ From: Alexey Edelev <alexey.ede...@qt.io> Sent: Monday, April 22, 2024 1:47 PM To: Ivan Solovev via Development <development@qt-project.org>; Dennis Oberst <dennis.obe...@qt.io>; Fabian Kosmale <fabian.kosm...@qt.io> Subject: Re: QtProtobuf and QtGrpc final API review Hi, For gRPC we have the similar API overview and guidance here: https://doc-snapshots.qt.io/qt6-dev/qtgrpc-service-client-methods.html For Protobuf we probably might want to introduce the similar thing. I will try to manage this request ASAP. Regards, Alexey ________________________________ From: Development <development-boun...@qt-project.org> on behalf of Fabian Kosmale via Development <development@qt-project.org> Sent: Monday, April 22, 2024 12:56 PM To: Ivan Solovev via Development <development@qt-project.org>; Dennis Oberst <dennis.obe...@qt.io> Subject: Re: [Development] QtProtobuf and QtGrpc final API review Hi, before diving into the API: Do we have more recent documentation than https://doc-snapshots.qt.io/qt6-dev/qtprotobuf-index.html? I have the following issue: The API provides both a set of abstract interfaces which can be used to _implement_ grpc support, as well as an actual implementation using HTTP2 as the protocol layer. However, as far as I can tell, there's currently no guidance in the documentation where to start as an actual user of gRPC, and where to start as an implementer. There's even the question whether we actually expect anyone to implement additional protocols, or whether that should be left to Qt. On the "user" side, there's also some (as far as I can tell) missing information on what the module actually supports. IIRC, qtgrpc only supports the client part, not the server side. Which is fine even when going out of TP, but should be mentinoed explicitly. And as far as the client is concerned: What can you actually do? gRPC supports quite a few ways of doing calls; do we support all of them? How? Compare e.g. with https://learn.microsoft.com/en-us/aspnet/core/grpc/client or https://grpc.io/docs/languages/kotlin/basics/#calling-service-methods You might ask why this is needed for an API review. Well, we can nitpick the choice of containers and the merits of passing by value or const-ref on the current API with the changes uploaded to gerrit. But that only gives us a very narrow view. To verify that the API actually presents a consistent interface which covers all uses-cases, we need a more application centric view. How else would you figure out tha API is _missing_ (in contrast to just not being expressed in the best possible way)? There are application examples, which at least helps with reviewing the usage part of the API, but any additional design documentation would be appreciated before diving into a proper review. Kind regards, Fabian ________________________________________ Von: Development <development-boun...@qt-project.org> im Auftrag von Dennis Oberst via Development <development@qt-project.org> Gesendet: Montag, 22. April 2024 12:15 An: Ivan Solovev via Development Betreff: [Development] QtProtobuf and QtGrpc final API review Hey everyone, The new QtProtobuf and QtGrpc modules are preparing to exit the technical preview phase. For that, these modules require their final API review for Qt 6.8 to iron out any remaining issues, so that we can finalize the API with its current features for us and our users. We deliberately want to avoid doing this large of a review during the usual review time after Qt 6.8 FF. At best the FF review will be based on the diff of todays state and the state at the time of the official review (much much smaller). We would really appreciate the help of anyone willing to review the existing API. We have divided it into multiple parts, which you can find here: - QtGrpc<https://codereview.qt-project.org/c/qt/qtgrpc/+/550653> - QtProtobuf<https://codereview.qt-project.org/c/qt/qtgrpc/+/550655> - WellKnownTypes<https://codereview.qt-project.org/c/qt/qtgrpc/+/550654> - GuiTypes<https://codereview.qt-project.org/c/qt/qtgrpc/+/550652> - CoreTypes<https://codereview.qt-project.org/c/qt/qtgrpc/+/550651> - GeneratedUserApi<https://codereview.qt-project.org/c/qt/qtgrpc/+/556448> Or through the topic "qtgrpc_6.8_api_review<https://codereview.qt-project.org/q/topic:%22qtgrpc_6.8_api_review%22>". Thanks in advance, and have a great Monday! best, ________________________ Dennis Oberst Software Engineer The Qt Company GmbH Erich-Thilo-Str. 10 12489 Berlin, Germany dennis.obe...@qt.io https://www.qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B -- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development
-- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development