diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp index 3054cb08..85ce641b 100644 --- a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp +++ b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp @@ -805,7 +805,7 @@ Status GRPCService::ConfigureUserAppleMail(ServerContext *, ConfigureAppleMailRe /// \param[in] writer The writer /// \return The status for the call. //**************************************************************************************************************************************************** -Status GRPCService::StartEventStream(ServerContext *, EventStreamRequest const *request, ServerWriter *writer) +Status GRPCService::RunEventStream(ServerContext *, EventStreamRequest const *request, ServerWriter *writer) { app().log().debug(__FUNCTION__); { diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.h b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.h index 0160dfbc..01783d99 100644 --- a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.h +++ b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.h @@ -94,7 +94,7 @@ public: // member functions. grpc::Status LogoutUser(::grpc::ServerContext *, ::google::protobuf::StringValue const *request, ::google::protobuf::Empty *) override; grpc::Status RemoveUser(::grpc::ServerContext *, ::google::protobuf::StringValue const *request, ::google::protobuf::Empty *) override; grpc::Status ConfigureUserAppleMail(::grpc::ServerContext *, ::grpc::ConfigureAppleMailRequest const *request, ::google::protobuf::Empty *) override; - grpc::Status StartEventStream(::grpc::ServerContext *, ::grpc::EventStreamRequest const *request, ::grpc::ServerWriter<::grpc::StreamEvent> *writer) override; + grpc::Status RunEventStream(::grpc::ServerContext *, ::grpc::EventStreamRequest const *request, ::grpc::ServerWriter<::grpc::StreamEvent> *writer) override; grpc::Status StopEventStream(::grpc::ServerContext *, ::google::protobuf::Empty const*, ::google::protobuf::Empty *) override; bool sendEvent(bridgepp::SPStreamEvent const &event); ///< Queue an event for sending through the event stream. diff --git a/internal/frontend/bridge-gui/bridge-gui/EventStreamWorker.cpp b/internal/frontend/bridge-gui/bridge-gui/EventStreamWorker.cpp index ec79dcc4..fe9223a0 100644 --- a/internal/frontend/bridge-gui/bridge-gui/EventStreamWorker.cpp +++ b/internal/frontend/bridge-gui/bridge-gui/EventStreamWorker.cpp @@ -46,7 +46,7 @@ void EventStreamReader::run() { emit started(); - grpc::Status const status = app().grpc().startEventStream(); + grpc::Status const status = app().grpc().runEventStreamReader(); if (!status.ok()) throw Exception(QString::fromStdString(status.error_message())); diff --git a/internal/frontend/bridge-gui/bridge-gui/main.cpp b/internal/frontend/bridge-gui/bridge-gui/main.cpp index 550a0868..6d898c30 100644 --- a/internal/frontend/bridge-gui/bridge-gui/main.cpp +++ b/internal/frontend/bridge-gui/bridge-gui/main.cpp @@ -285,7 +285,7 @@ int main(int argc, char *argv[]) result = QGuiApplication::exec(); QObject::disconnect(connection); - app().grpc().stopEventStream(); + app().grpc().stopEventStreamReader(); if (!app().backend().waitForEventStreamReaderToFinish(5000)) log.warn("Event stream reader took too long to finish."); diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp index 2a87ede2..89e3a3a8 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp @@ -778,15 +778,31 @@ grpc::Status GRPCClient::setCurrentKeychain(QString const &keychain) } +//**************************************************************************************************************************************************** +/// \return true iff the event stream is active. +//**************************************************************************************************************************************************** +bool GRPCClient::isEventStreamActive() const +{ + QMutexLocker locker(&eventStreamMutex_); + return eventStreamContext_.get(); +} + + //**************************************************************************************************************************************************** /// \return The status for the gRPC coll. //**************************************************************************************************************************************************** -grpc::Status GRPCClient::startEventStream() +grpc::Status GRPCClient::runEventStreamReader() { - grpc::ClientContext ctx; + { + QMutexLocker locker(&eventStreamMutex_); + if (eventStreamContext_) + return Status(grpc::ALREADY_EXISTS, "event stream is already active."); + eventStreamContext_ = std::make_unique(); + } + EventStreamRequest request; request.set_clientplatform(QSysInfo::prettyProductName().toStdString()); - std::unique_ptr> reader(stub_->StartEventStream(&ctx, request)); + std::unique_ptr> reader(stub_->RunEventStream(eventStreamContext_.get(), request)); grpc::StreamEvent event; while (reader->Read(&event)) @@ -823,15 +839,20 @@ grpc::Status GRPCClient::startEventStream() } } - return this->logGRPCCallStatus(reader->Finish(), __FUNCTION__); + Status result = this->logGRPCCallStatus(reader->Finish(), __FUNCTION__); + QMutexLocker locker(&eventStreamMutex_); + eventStreamContext_.reset(); + return result; } //**************************************************************************************************************************************************** /// \return The status for the call. //**************************************************************************************************************************************************** -grpc::Status GRPCClient::stopEventStream() +grpc::Status GRPCClient::stopEventStreamReader() { + if (!this->isEventStreamActive()) + return Status::OK; grpc::ClientContext ctx; return this->logGRPCCallStatus(stub_->StopEventStream(&ctx, empty, &empty), __FUNCTION__); } diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h index 89dd4515..15ea4e67 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h @@ -191,8 +191,9 @@ signals: // mail related events void apiCertIssue(); public: - grpc::Status startEventStream(); ///< Retrieve and signal the events in the event stream. - grpc::Status stopEventStream(); ///< Stop the event stream. + bool isEventStreamActive() const; ///< Check if the event stream is active. + grpc::Status runEventStreamReader(); ///< Retrieve and signal the events in the event stream. + grpc::Status stopEventStreamReader(); ///< Stop the event stream. private slots: void configFolderChanged(); @@ -227,6 +228,8 @@ private: // data members. Log *log_ { nullptr }; ///< The log for the GRPC client. std::shared_ptr channel_ { nullptr }; ///< The gRPC channel. std::shared_ptr stub_ { nullptr }; ///< The gRPC stub (a.k.a. client). + mutable QMutex eventStreamMutex_; ///< The event stream mutex. + std::unique_ptr eventStreamContext_; /// the client context for the gRPC event stream. Access protected by eventStreamMutex_. }; diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.cc b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.cc index 7731d0f6..762ee904 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.cc +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.cc @@ -75,7 +75,7 @@ static const char* Bridge_method_names[] = { "/grpc.Bridge/LogoutUser", "/grpc.Bridge/RemoveUser", "/grpc.Bridge/ConfigureUserAppleMail", - "/grpc.Bridge/StartEventStream", + "/grpc.Bridge/RunEventStream", "/grpc.Bridge/StopEventStream", }; @@ -139,7 +139,7 @@ Bridge::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, co , rpcmethod_LogoutUser_(Bridge_method_names[50], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_RemoveUser_(Bridge_method_names[51], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_ConfigureUserAppleMail_(Bridge_method_names[52], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_StartEventStream_(Bridge_method_names[53], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel) + , rpcmethod_RunEventStream_(Bridge_method_names[53], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel) , rpcmethod_StopEventStream_(Bridge_method_names[54], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) {} @@ -1362,20 +1362,20 @@ void Bridge::Stub::async::ConfigureUserAppleMail(::grpc::ClientContext* context, return result; } -::grpc::ClientReader< ::grpc::StreamEvent>* Bridge::Stub::StartEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) { - return ::grpc::internal::ClientReaderFactory< ::grpc::StreamEvent>::Create(channel_.get(), rpcmethod_StartEventStream_, context, request); +::grpc::ClientReader< ::grpc::StreamEvent>* Bridge::Stub::RunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) { + return ::grpc::internal::ClientReaderFactory< ::grpc::StreamEvent>::Create(channel_.get(), rpcmethod_RunEventStream_, context, request); } -void Bridge::Stub::async::StartEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ClientReadReactor< ::grpc::StreamEvent>* reactor) { - ::grpc::internal::ClientCallbackReaderFactory< ::grpc::StreamEvent>::Create(stub_->channel_.get(), stub_->rpcmethod_StartEventStream_, context, request, reactor); +void Bridge::Stub::async::RunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ClientReadReactor< ::grpc::StreamEvent>* reactor) { + ::grpc::internal::ClientCallbackReaderFactory< ::grpc::StreamEvent>::Create(stub_->channel_.get(), stub_->rpcmethod_RunEventStream_, context, request, reactor); } -::grpc::ClientAsyncReader< ::grpc::StreamEvent>* Bridge::Stub::AsyncStartEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) { - return ::grpc::internal::ClientAsyncReaderFactory< ::grpc::StreamEvent>::Create(channel_.get(), cq, rpcmethod_StartEventStream_, context, request, true, tag); +::grpc::ClientAsyncReader< ::grpc::StreamEvent>* Bridge::Stub::AsyncRunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) { + return ::grpc::internal::ClientAsyncReaderFactory< ::grpc::StreamEvent>::Create(channel_.get(), cq, rpcmethod_RunEventStream_, context, request, true, tag); } -::grpc::ClientAsyncReader< ::grpc::StreamEvent>* Bridge::Stub::PrepareAsyncStartEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) { - return ::grpc::internal::ClientAsyncReaderFactory< ::grpc::StreamEvent>::Create(channel_.get(), cq, rpcmethod_StartEventStream_, context, request, false, nullptr); +::grpc::ClientAsyncReader< ::grpc::StreamEvent>* Bridge::Stub::PrepareAsyncRunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncReaderFactory< ::grpc::StreamEvent>::Create(channel_.get(), cq, rpcmethod_RunEventStream_, context, request, false, nullptr); } ::grpc::Status Bridge::Stub::StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) { @@ -1940,7 +1940,7 @@ Bridge::Service::Service() { ::grpc::ServerContext* ctx, const ::grpc::EventStreamRequest* req, ::grpc::ServerWriter<::grpc::StreamEvent>* writer) { - return service->StartEventStream(ctx, req, writer); + return service->RunEventStream(ctx, req, writer); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( Bridge_method_names[54], @@ -2328,7 +2328,7 @@ Bridge::Service::~Service() { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } -::grpc::Status Bridge::Service::StartEventStream(::grpc::ServerContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ServerWriter< ::grpc::StreamEvent>* writer) { +::grpc::Status Bridge::Service::RunEventStream(::grpc::ServerContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ServerWriter< ::grpc::StreamEvent>* writer) { (void) context; (void) request; (void) writer; diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.h index c5d0b575..4dcf97a2 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.h +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.h @@ -436,14 +436,14 @@ class Bridge final { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncConfigureUserAppleMailRaw(context, request, cq)); } // Server -> Client event stream - std::unique_ptr< ::grpc::ClientReaderInterface< ::grpc::StreamEvent>> StartEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) { - return std::unique_ptr< ::grpc::ClientReaderInterface< ::grpc::StreamEvent>>(StartEventStreamRaw(context, request)); + std::unique_ptr< ::grpc::ClientReaderInterface< ::grpc::StreamEvent>> RunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) { + return std::unique_ptr< ::grpc::ClientReaderInterface< ::grpc::StreamEvent>>(RunEventStreamRaw(context, request)); } - std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>> AsyncStartEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) { - return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>>(AsyncStartEventStreamRaw(context, request, cq, tag)); + std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>> AsyncRunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>>(AsyncRunEventStreamRaw(context, request, cq, tag)); } - std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>> PrepareAsyncStartEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>>(PrepareAsyncStartEventStreamRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>> PrepareAsyncRunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>>(PrepareAsyncRunEventStreamRaw(context, request, cq)); } // Keep streaming until StopEventStream is called. virtual ::grpc::Status StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) = 0; @@ -571,7 +571,7 @@ class Bridge final { virtual void ConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, std::function) = 0; virtual void ConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0; // Server -> Client event stream - virtual void StartEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ClientReadReactor< ::grpc::StreamEvent>* reactor) = 0; + virtual void RunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ClientReadReactor< ::grpc::StreamEvent>* reactor) = 0; // Keep streaming until StopEventStream is called. virtual void StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) = 0; virtual void StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0; @@ -686,9 +686,9 @@ class Bridge final { virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncRemoveUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientReaderInterface< ::grpc::StreamEvent>* StartEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) = 0; - virtual ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>* AsyncStartEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) = 0; - virtual ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>* PrepareAsyncStartEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientReaderInterface< ::grpc::StreamEvent>* RunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) = 0; + virtual ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>* AsyncRunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) = 0; + virtual ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>* PrepareAsyncRunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncStopEventStreamRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncStopEventStreamRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; }; @@ -1066,14 +1066,14 @@ class Bridge final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncConfigureUserAppleMailRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientReader< ::grpc::StreamEvent>> StartEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) { - return std::unique_ptr< ::grpc::ClientReader< ::grpc::StreamEvent>>(StartEventStreamRaw(context, request)); + std::unique_ptr< ::grpc::ClientReader< ::grpc::StreamEvent>> RunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) { + return std::unique_ptr< ::grpc::ClientReader< ::grpc::StreamEvent>>(RunEventStreamRaw(context, request)); } - std::unique_ptr< ::grpc::ClientAsyncReader< ::grpc::StreamEvent>> AsyncStartEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) { - return std::unique_ptr< ::grpc::ClientAsyncReader< ::grpc::StreamEvent>>(AsyncStartEventStreamRaw(context, request, cq, tag)); + std::unique_ptr< ::grpc::ClientAsyncReader< ::grpc::StreamEvent>> AsyncRunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) { + return std::unique_ptr< ::grpc::ClientAsyncReader< ::grpc::StreamEvent>>(AsyncRunEventStreamRaw(context, request, cq, tag)); } - std::unique_ptr< ::grpc::ClientAsyncReader< ::grpc::StreamEvent>> PrepareAsyncStartEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) { - return std::unique_ptr< ::grpc::ClientAsyncReader< ::grpc::StreamEvent>>(PrepareAsyncStartEventStreamRaw(context, request, cq)); + std::unique_ptr< ::grpc::ClientAsyncReader< ::grpc::StreamEvent>> PrepareAsyncRunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncReader< ::grpc::StreamEvent>>(PrepareAsyncRunEventStreamRaw(context, request, cq)); } ::grpc::Status StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) override; std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncStopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { @@ -1191,7 +1191,7 @@ class Bridge final { void RemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override; void ConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, std::function) override; void ConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override; - void StartEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ClientReadReactor< ::grpc::StreamEvent>* reactor) override; + void RunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ClientReadReactor< ::grpc::StreamEvent>* reactor) override; void StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) override; void StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override; private: @@ -1311,9 +1311,9 @@ class Bridge final { ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncRemoveUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientReader< ::grpc::StreamEvent>* StartEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) override; - ::grpc::ClientAsyncReader< ::grpc::StreamEvent>* AsyncStartEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) override; - ::grpc::ClientAsyncReader< ::grpc::StreamEvent>* PrepareAsyncStartEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientReader< ::grpc::StreamEvent>* RunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) override; + ::grpc::ClientAsyncReader< ::grpc::StreamEvent>* AsyncRunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) override; + ::grpc::ClientAsyncReader< ::grpc::StreamEvent>* PrepareAsyncRunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncStopEventStreamRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncStopEventStreamRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; const ::grpc::internal::RpcMethod rpcmethod_AddLogEntry_; @@ -1369,7 +1369,7 @@ class Bridge final { const ::grpc::internal::RpcMethod rpcmethod_LogoutUser_; const ::grpc::internal::RpcMethod rpcmethod_RemoveUser_; const ::grpc::internal::RpcMethod rpcmethod_ConfigureUserAppleMail_; - const ::grpc::internal::RpcMethod rpcmethod_StartEventStream_; + const ::grpc::internal::RpcMethod rpcmethod_RunEventStream_; const ::grpc::internal::RpcMethod rpcmethod_StopEventStream_; }; static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); @@ -1440,7 +1440,7 @@ class Bridge final { virtual ::grpc::Status RemoveUser(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response); virtual ::grpc::Status ConfigureUserAppleMail(::grpc::ServerContext* context, const ::grpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response); // Server -> Client event stream - virtual ::grpc::Status StartEventStream(::grpc::ServerContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ServerWriter< ::grpc::StreamEvent>* writer); + virtual ::grpc::Status RunEventStream(::grpc::ServerContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ServerWriter< ::grpc::StreamEvent>* writer); // Keep streaming until StopEventStream is called. virtual ::grpc::Status StopEventStream(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response); }; @@ -2505,22 +2505,22 @@ class Bridge final { } }; template - class WithAsyncMethod_StartEventStream : public BaseClass { + class WithAsyncMethod_RunEventStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithAsyncMethod_StartEventStream() { + WithAsyncMethod_RunEventStream() { ::grpc::Service::MarkMethodAsync(53); } - ~WithAsyncMethod_StartEventStream() override { + ~WithAsyncMethod_RunEventStream() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status StartEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { + ::grpc::Status RunEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void RequestStartEventStream(::grpc::ServerContext* context, ::grpc::EventStreamRequest* request, ::grpc::ServerAsyncWriter< ::grpc::StreamEvent>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void RequestRunEventStream(::grpc::ServerContext* context, ::grpc::EventStreamRequest* request, ::grpc::ServerAsyncWriter< ::grpc::StreamEvent>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncServerStreaming(53, context, request, writer, new_call_cq, notification_cq, tag); } }; @@ -2544,7 +2544,7 @@ class Bridge final { ::grpc::Service::RequestAsyncUnary(54, context, request, response, new_call_cq, notification_cq, tag); } }; - typedef WithAsyncMethod_AddLogEntry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; + typedef WithAsyncMethod_AddLogEntry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; template class WithCallbackMethod_AddLogEntry : public BaseClass { private: @@ -3977,25 +3977,25 @@ class Bridge final { ::grpc::CallbackServerContext* /*context*/, const ::grpc::ConfigureAppleMailRequest* /*request*/, ::google::protobuf::Empty* /*response*/) { return nullptr; } }; template - class WithCallbackMethod_StartEventStream : public BaseClass { + class WithCallbackMethod_RunEventStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithCallbackMethod_StartEventStream() { + WithCallbackMethod_RunEventStream() { ::grpc::Service::MarkMethodCallback(53, new ::grpc::internal::CallbackServerStreamingHandler< ::grpc::EventStreamRequest, ::grpc::StreamEvent>( [this]( - ::grpc::CallbackServerContext* context, const ::grpc::EventStreamRequest* request) { return this->StartEventStream(context, request); })); + ::grpc::CallbackServerContext* context, const ::grpc::EventStreamRequest* request) { return this->RunEventStream(context, request); })); } - ~WithCallbackMethod_StartEventStream() override { + ~WithCallbackMethod_RunEventStream() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status StartEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { + ::grpc::Status RunEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - virtual ::grpc::ServerWriteReactor< ::grpc::StreamEvent>* StartEventStream( + virtual ::grpc::ServerWriteReactor< ::grpc::StreamEvent>* RunEventStream( ::grpc::CallbackServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/) { return nullptr; } }; template @@ -4025,7 +4025,7 @@ class Bridge final { virtual ::grpc::ServerUnaryReactor* StopEventStream( ::grpc::CallbackServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) { return nullptr; } }; - typedef WithCallbackMethod_AddLogEntry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > CallbackService; + typedef WithCallbackMethod_AddLogEntry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > CallbackService; typedef CallbackService ExperimentalCallbackService; template class WithGenericMethod_AddLogEntry : public BaseClass { @@ -4929,18 +4929,18 @@ class Bridge final { } }; template - class WithGenericMethod_StartEventStream : public BaseClass { + class WithGenericMethod_RunEventStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithGenericMethod_StartEventStream() { + WithGenericMethod_RunEventStream() { ::grpc::Service::MarkMethodGeneric(53); } - ~WithGenericMethod_StartEventStream() override { + ~WithGenericMethod_RunEventStream() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status StartEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { + ::grpc::Status RunEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } @@ -6023,22 +6023,22 @@ class Bridge final { } }; template - class WithRawMethod_StartEventStream : public BaseClass { + class WithRawMethod_RunEventStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithRawMethod_StartEventStream() { + WithRawMethod_RunEventStream() { ::grpc::Service::MarkMethodRaw(53); } - ~WithRawMethod_StartEventStream() override { + ~WithRawMethod_RunEventStream() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status StartEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { + ::grpc::Status RunEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void RequestStartEventStream(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncWriter< ::grpc::ByteBuffer>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void RequestRunEventStream(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncWriter< ::grpc::ByteBuffer>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncServerStreaming(53, context, request, writer, new_call_cq, notification_cq, tag); } }; @@ -7229,25 +7229,25 @@ class Bridge final { ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } }; template - class WithRawCallbackMethod_StartEventStream : public BaseClass { + class WithRawCallbackMethod_RunEventStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithRawCallbackMethod_StartEventStream() { + WithRawCallbackMethod_RunEventStream() { ::grpc::Service::MarkMethodRawCallback(53, new ::grpc::internal::CallbackServerStreamingHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( - ::grpc::CallbackServerContext* context, const::grpc::ByteBuffer* request) { return this->StartEventStream(context, request); })); + ::grpc::CallbackServerContext* context, const::grpc::ByteBuffer* request) { return this->RunEventStream(context, request); })); } - ~WithRawCallbackMethod_StartEventStream() override { + ~WithRawCallbackMethod_RunEventStream() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status StartEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { + ::grpc::Status RunEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - virtual ::grpc::ServerWriteReactor< ::grpc::ByteBuffer>* StartEventStream( + virtual ::grpc::ServerWriteReactor< ::grpc::ByteBuffer>* RunEventStream( ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/) { return nullptr; } }; template @@ -8732,34 +8732,34 @@ class Bridge final { }; typedef WithStreamedUnaryMethod_AddLogEntry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService; template - class WithSplitStreamingMethod_StartEventStream : public BaseClass { + class WithSplitStreamingMethod_RunEventStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: - WithSplitStreamingMethod_StartEventStream() { + WithSplitStreamingMethod_RunEventStream() { ::grpc::Service::MarkMethodStreamed(53, new ::grpc::internal::SplitServerStreamingHandler< ::grpc::EventStreamRequest, ::grpc::StreamEvent>( [this](::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::grpc::EventStreamRequest, ::grpc::StreamEvent>* streamer) { - return this->StreamedStartEventStream(context, + return this->StreamedRunEventStream(context, streamer); })); } - ~WithSplitStreamingMethod_StartEventStream() override { + ~WithSplitStreamingMethod_RunEventStream() override { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status StartEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { + ::grpc::Status RunEventStream(::grpc::ServerContext* /*context*/, const ::grpc::EventStreamRequest* /*request*/, ::grpc::ServerWriter< ::grpc::StreamEvent>* /*writer*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with split streamed - virtual ::grpc::Status StreamedStartEventStream(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::grpc::EventStreamRequest,::grpc::StreamEvent>* server_split_streamer) = 0; + virtual ::grpc::Status StreamedRunEventStream(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::grpc::EventStreamRequest,::grpc::StreamEvent>* server_split_streamer) = 0; }; - typedef WithSplitStreamingMethod_StartEventStream SplitStreamedService; - typedef WithStreamedUnaryMethod_AddLogEntry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; + typedef WithSplitStreamingMethod_RunEventStream SplitStreamedService; + typedef WithStreamedUnaryMethod_AddLogEntry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; }; } // namespace grpc diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.cc b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.cc index 60961f18..44547aaf 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.cc +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.cc @@ -1467,7 +1467,7 @@ const char descriptor_table_protodef_bridge_2eproto[] PROTOBUF_SECTION_VARIABLE( "LABLE_ERROR\020\000\022\031\n\025CACHE_CANT_MOVE_ERROR\020\001" "\022\r\n\tDISK_FULL\020\002*A\n\025MailSettingsErrorType" "\022\023\n\017IMAP_PORT_ISSUE\020\000\022\023\n\017SMTP_PORT_ISSUE" - "\020\0012\300\035\n\006Bridge\022\?\n\013AddLogEntry\022\030.grpc.AddL" + "\020\0012\276\035\n\006Bridge\022\?\n\013AddLogEntry\022\030.grpc.AddL" "ogEntryRequest\032\026.google.protobuf.Empty\022:" "\n\010GuiReady\022\026.google.protobuf.Empty\032\026.goo" "gle.protobuf.Empty\0226\n\004Quit\022\026.google.prot" @@ -1558,12 +1558,12 @@ const char descriptor_table_protodef_bridge_2eproto[] PROTOBUF_SECTION_VARIABLE( "protobuf.StringValue\032\026.google.protobuf.E" "mpty\022Q\n\026ConfigureUserAppleMail\022\037.grpc.Co" "nfigureAppleMailRequest\032\026.google.protobu" - "f.Empty\022A\n\020StartEventStream\022\030.grpc.Event" - "StreamRequest\032\021.grpc.StreamEvent0\001\022A\n\017St" - "opEventStream\022\026.google.protobuf.Empty\032\026." - "google.protobuf.EmptyB6Z4github.com/Prot" - "onMail/proton-bridge/v2/internal/grpcb\006p" - "roto3" + "f.Empty\022\?\n\016RunEventStream\022\030.grpc.EventSt" + "reamRequest\032\021.grpc.StreamEvent0\001\022A\n\017Stop" + "EventStream\022\026.google.protobuf.Empty\032\026.go" + "ogle.protobuf.EmptyB6Z4github.com/Proton" + "Mail/proton-bridge/v2/internal/grpcb\006pro" + "to3" ; static const ::_pbi::DescriptorTable* const descriptor_table_bridge_2eproto_deps[2] = { &::descriptor_table_google_2fprotobuf_2fempty_2eproto, @@ -1571,7 +1571,7 @@ static const ::_pbi::DescriptorTable* const descriptor_table_bridge_2eproto_deps }; static ::_pbi::once_flag descriptor_table_bridge_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_bridge_2eproto = { - false, false, 9325, descriptor_table_protodef_bridge_2eproto, + false, false, 9323, descriptor_table_protodef_bridge_2eproto, "bridge.proto", &descriptor_table_bridge_2eproto_once, descriptor_table_bridge_2eproto_deps, 2, 57, schemas, file_default_instances, TableStruct_bridge_2eproto::offsets, diff --git a/internal/frontend/grpc/bridge.pb.go b/internal/frontend/grpc/bridge.pb.go index afeded3d..eec51223 100644 --- a/internal/frontend/grpc/bridge.pb.go +++ b/internal/frontend/grpc/bridge.pb.go @@ -40,8 +40,9 @@ const ( ) //********************************************************** -// Log related message +// Log related message //********************************************************** +// Note: the enum values are prefixed with 'LOG_' to avoid a clash in C++ on Windows with the ERROR macro defined in wingdi.h type LogLevel int32 const ( @@ -4124,7 +4125,7 @@ var file_bridge_proto_rawDesc = []byte{ 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4d, 0x41, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4d, 0x54, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x10, 0x01, - 0x32, 0xc0, 0x1d, 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x41, + 0x32, 0xbe, 0x1d, 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, @@ -4351,20 +4352,20 @@ var file_bridge_proto_rawDesc = []byte{ 0x4d, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x41, 0x0a, - 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x12, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, - 0x12, 0x41, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6c, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x6e, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3f, 0x0a, + 0x0e, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, + 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x41, + 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x6e, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -4554,7 +4555,7 @@ var file_bridge_proto_depIdxs = []int32{ 64, // 101: grpc.Bridge.LogoutUser:input_type -> google.protobuf.StringValue 64, // 102: grpc.Bridge.RemoveUser:input_type -> google.protobuf.StringValue 15, // 103: grpc.Bridge.ConfigureUserAppleMail:input_type -> grpc.ConfigureAppleMailRequest - 16, // 104: grpc.Bridge.StartEventStream:input_type -> grpc.EventStreamRequest + 16, // 104: grpc.Bridge.RunEventStream:input_type -> grpc.EventStreamRequest 62, // 105: grpc.Bridge.StopEventStream:input_type -> google.protobuf.Empty 62, // 106: grpc.Bridge.AddLogEntry:output_type -> google.protobuf.Empty 62, // 107: grpc.Bridge.GuiReady:output_type -> google.protobuf.Empty @@ -4609,7 +4610,7 @@ var file_bridge_proto_depIdxs = []int32{ 62, // 156: grpc.Bridge.LogoutUser:output_type -> google.protobuf.Empty 62, // 157: grpc.Bridge.RemoveUser:output_type -> google.protobuf.Empty 62, // 158: grpc.Bridge.ConfigureUserAppleMail:output_type -> google.protobuf.Empty - 17, // 159: grpc.Bridge.StartEventStream:output_type -> grpc.StreamEvent + 17, // 159: grpc.Bridge.RunEventStream:output_type -> grpc.StreamEvent 62, // 160: grpc.Bridge.StopEventStream:output_type -> google.protobuf.Empty 106, // [106:161] is the sub-list for method output_type 51, // [51:106] is the sub-list for method input_type diff --git a/internal/frontend/grpc/bridge.proto b/internal/frontend/grpc/bridge.proto index 78fa74e4..d4ad5cfb 100644 --- a/internal/frontend/grpc/bridge.proto +++ b/internal/frontend/grpc/bridge.proto @@ -97,7 +97,7 @@ service Bridge { rpc ConfigureUserAppleMail(ConfigureAppleMailRequest) returns (google.protobuf.Empty); // Server -> Client event stream - rpc StartEventStream(EventStreamRequest) returns (stream StreamEvent); // Keep streaming until StopEventStream is called. + rpc RunEventStream(EventStreamRequest) returns (stream StreamEvent); // Keep streaming until StopEventStream is called. rpc StopEventStream(google.protobuf.Empty) returns (google.protobuf.Empty); } diff --git a/internal/frontend/grpc/bridge_grpc.pb.go b/internal/frontend/grpc/bridge_grpc.pb.go index 2dad3695..b30c8cd6 100644 --- a/internal/frontend/grpc/bridge_grpc.pb.go +++ b/internal/frontend/grpc/bridge_grpc.pb.go @@ -85,7 +85,7 @@ type BridgeClient interface { RemoveUser(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) ConfigureUserAppleMail(ctx context.Context, in *ConfigureAppleMailRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) // Server -> Client event stream - StartEventStream(ctx context.Context, in *EventStreamRequest, opts ...grpc.CallOption) (Bridge_StartEventStreamClient, error) + RunEventStream(ctx context.Context, in *EventStreamRequest, opts ...grpc.CallOption) (Bridge_RunEventStreamClient, error) StopEventStream(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) } @@ -574,12 +574,12 @@ func (c *bridgeClient) ConfigureUserAppleMail(ctx context.Context, in *Configure return out, nil } -func (c *bridgeClient) StartEventStream(ctx context.Context, in *EventStreamRequest, opts ...grpc.CallOption) (Bridge_StartEventStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &Bridge_ServiceDesc.Streams[0], "/grpc.Bridge/StartEventStream", opts...) +func (c *bridgeClient) RunEventStream(ctx context.Context, in *EventStreamRequest, opts ...grpc.CallOption) (Bridge_RunEventStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &Bridge_ServiceDesc.Streams[0], "/grpc.Bridge/RunEventStream", opts...) if err != nil { return nil, err } - x := &bridgeStartEventStreamClient{stream} + x := &bridgeRunEventStreamClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -589,16 +589,16 @@ func (c *bridgeClient) StartEventStream(ctx context.Context, in *EventStreamRequ return x, nil } -type Bridge_StartEventStreamClient interface { +type Bridge_RunEventStreamClient interface { Recv() (*StreamEvent, error) grpc.ClientStream } -type bridgeStartEventStreamClient struct { +type bridgeRunEventStreamClient struct { grpc.ClientStream } -func (x *bridgeStartEventStreamClient) Recv() (*StreamEvent, error) { +func (x *bridgeRunEventStreamClient) Recv() (*StreamEvent, error) { m := new(StreamEvent) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err @@ -680,7 +680,7 @@ type BridgeServer interface { RemoveUser(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error) ConfigureUserAppleMail(context.Context, *ConfigureAppleMailRequest) (*emptypb.Empty, error) // Server -> Client event stream - StartEventStream(*EventStreamRequest, Bridge_StartEventStreamServer) error + RunEventStream(*EventStreamRequest, Bridge_RunEventStreamServer) error StopEventStream(context.Context, *emptypb.Empty) (*emptypb.Empty, error) mustEmbedUnimplementedBridgeServer() } @@ -848,8 +848,8 @@ func (UnimplementedBridgeServer) RemoveUser(context.Context, *wrapperspb.StringV func (UnimplementedBridgeServer) ConfigureUserAppleMail(context.Context, *ConfigureAppleMailRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method ConfigureUserAppleMail not implemented") } -func (UnimplementedBridgeServer) StartEventStream(*EventStreamRequest, Bridge_StartEventStreamServer) error { - return status.Errorf(codes.Unimplemented, "method StartEventStream not implemented") +func (UnimplementedBridgeServer) RunEventStream(*EventStreamRequest, Bridge_RunEventStreamServer) error { + return status.Errorf(codes.Unimplemented, "method RunEventStream not implemented") } func (UnimplementedBridgeServer) StopEventStream(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method StopEventStream not implemented") @@ -1821,24 +1821,24 @@ func _Bridge_ConfigureUserAppleMail_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } -func _Bridge_StartEventStream_Handler(srv interface{}, stream grpc.ServerStream) error { +func _Bridge_RunEventStream_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(EventStreamRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(BridgeServer).StartEventStream(m, &bridgeStartEventStreamServer{stream}) + return srv.(BridgeServer).RunEventStream(m, &bridgeRunEventStreamServer{stream}) } -type Bridge_StartEventStreamServer interface { +type Bridge_RunEventStreamServer interface { Send(*StreamEvent) error grpc.ServerStream } -type bridgeStartEventStreamServer struct { +type bridgeRunEventStreamServer struct { grpc.ServerStream } -func (x *bridgeStartEventStreamServer) Send(m *StreamEvent) error { +func (x *bridgeRunEventStreamServer) Send(m *StreamEvent) error { return x.ServerStream.SendMsg(m) } @@ -2086,8 +2086,8 @@ var Bridge_ServiceDesc = grpc.ServiceDesc{ }, Streams: []grpc.StreamDesc{ { - StreamName: "StartEventStream", - Handler: _Bridge_StartEventStream_Handler, + StreamName: "RunEventStream", + Handler: _Bridge_RunEventStream_Handler, ServerStreams: true, }, }, diff --git a/internal/frontend/grpc/service_stream.go b/internal/frontend/grpc/service_stream.go index 7e3b30b4..8aa66753 100644 --- a/internal/frontend/grpc/service_stream.go +++ b/internal/frontend/grpc/service_stream.go @@ -26,8 +26,8 @@ import ( "google.golang.org/protobuf/types/known/emptypb" ) -// StartEventStream implement the gRPC server->Client event stream. -func (s *Service) StartEventStream(request *EventStreamRequest, server Bridge_StartEventStreamServer) error { +// RunEventStream implement the gRPC server->Client event stream. +func (s *Service) RunEventStream(request *EventStreamRequest, server Bridge_RunEventStreamServer) error { s.log.Info("Starting Event stream") if s.eventStreamCh != nil {