summary refs log tree commit diff
path: root/src/rpcStub.cpp
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-05-21 19:21:32 +0200
committerGitHub <noreply@github.com>2021-05-21 19:21:32 +0200
commit9c9c948ae9eb1959aabd70eff968dd49272a05fb (patch)
tree096bacda4fc8b765a7712330850b2b50657112bb /src/rpcStub.cpp
parentMerge branch 'master' of https://github.com/discord-open-source/discord-voice (diff)
parent[del] Removed protobuf build files (diff)
downloadserver-9c9c948ae9eb1959aabd70eff968dd49272a05fb.tar.xz
Merge pull request #19 from ItsNewe/master
Set up the initial project structure
Diffstat (limited to 'src/rpcStub.cpp')
-rw-r--r--src/rpcStub.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/rpcStub.cpp b/src/rpcStub.cpp
new file mode 100644

index 00000000..1633aab8 --- /dev/null +++ b/src/rpcStub.cpp
@@ -0,0 +1,32 @@ +#include "rpcStub.hpp" + +class fossCordInternalsImpl final : public fosscordMedia::fosscordInternals::Service { + std::shared_ptr<rtcPeerHandler> ph; + fossCordInternalsImpl(std::shared_ptr<rtcPeerHandler> 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(std::shared_ptr<rtcPeerHandler> handler, int port) { + if (not port) { + port = 8057; + } + this->ph = handler; + + fossCordInternalsImpl* service; + grpc::ServerBuilder builder; + builder.AddListeningPort("0.0.0.0:" + std::to_string(port), + grpc::InsecureServerCredentials()); + builder.RegisterService(service); + + this->server = builder.BuildAndStart(); + + std::cout << "RPC stub listening on port " << port << std::endl; +} \ No newline at end of file