From f8eceb3124ac4149f180b496082d9965f6b8c1b6 Mon Sep 17 00:00:00 2001 From: Newe Date: Fri, 21 May 2021 15:48:56 +0200 Subject: [edit] Hypothetical gRPC handshake --- src/rpcStub.cpp | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) (limited to 'src/rpcStub.cpp') diff --git a/src/rpcStub.cpp b/src/rpcStub.cpp index 3d848924..1633aab8 100644 --- a/src/rpcStub.cpp +++ b/src/rpcStub.cpp @@ -1,24 +1,32 @@ #include "rpcStub.hpp" -class fossCordInternalsImpl final : public fosscordMedia::fosscordInternals::Service{ - grpc::Status sendRequest( - grpc::ServerContext* ctx, - const fosscordMedia::rpcRequest* req, - fosscordMedia::rpcResponse* resp - ) override{ - resp->set_b(333); - return grpc::Status::OK; +class fossCordInternalsImpl final : public fosscordMedia::fosscordInternals::Service { + std::shared_ptr ph; + fossCordInternalsImpl(std::shared_ptr handler){ + this->ph= handler; } + grpc::Status vRequest(grpc::ServerContext* ctx, + const fosscordMedia::voiceRequest* req, + fosscordMedia::voiceAnswer* resp) override { + this->ph->initiateConnection(req->ip(), req->port()); + return grpc::Status::OK; + } }; -rpcStub::rpcStub(int port){ - grpc::ServerBuilder builder; +rpcStub::rpcStub(std::shared_ptr handler, int port) { + if (not port) { + port = 8057; + } + this->ph = handler; - fossCordInternalsImpl* service; - builder.AddListeningPort("0.0.0.0:8057", grpc::InsecureServerCredentials() ); - builder.RegisterService(service); + fossCordInternalsImpl* service; + grpc::ServerBuilder builder; + builder.AddListeningPort("0.0.0.0:" + std::to_string(port), + grpc::InsecureServerCredentials()); + builder.RegisterService(service); - std::unique_ptr server(builder.BuildAndStart()); - std::cout << "Server listening on port 8057 " << std::endl; + this->server = builder.BuildAndStart(); + + std::cout << "RPC stub listening on port " << port << std::endl; } \ No newline at end of file -- cgit 1.5.1