Skip to content

Commit d5c4e13

Browse files
committed
chore: update deps
Signed-off-by: Christian Stewart <christian@aperture.us>
1 parent 8661f92 commit d5c4e13

File tree

9 files changed

+606
-25
lines changed

9 files changed

+606
-25
lines changed

.protoc-manifest.json

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11
{
22
"version": 2,
3-
"protocFlagsHash": "1152cdb8a3e3d48a1e6178bbfe94a1c2035c3ac41634404c16e918bc13d51798",
4-
"toolVersions": "protoc=embedded,protobuf-go-lite=v0.12.0,starpc=v0.44.0,protobuf-es-lite=^0.5.3",
3+
"protocFlagsHash": "f83552054c9ab83accb174c598c8e5617f0a99a2f2d19e22d8c2123319065584",
4+
"toolVersions": "protoc=embedded,protobuf-go-lite=v0.12.1,starpc=v0.46.1,protobuf-es-lite=^0.5.3",
55
"packages": {
66
"github.com/aperturerobotics/template/example": {
77
"hash": "393780feb3fab0309f4e5d0feefd0fa62ad32558bc76972db319a4b24be97a92",
88
"generatedFiles": [
9-
"vendor/github.com/aperturerobotics/template/example/example.pb.cc",
10-
"vendor/github.com/aperturerobotics/template/example/example.pb.go",
11-
"vendor/github.com/aperturerobotics/template/example/example.pb.h",
12-
"vendor/github.com/aperturerobotics/template/example/example.pb.ts",
13-
"vendor/github.com/aperturerobotics/template/example/example_srpc.pb.go",
14-
"vendor/github.com/aperturerobotics/template/example/example_srpc.pb.ts",
159
"example/example.pb.cc",
10+
"example/example_srpc.pb.cpp",
11+
"example/example_srpc.pb.hpp",
1612
"example/example.pb.go",
1713
"example/example.pb.h",
14+
"example/example.pb.rs",
1815
"example/example.pb.ts",
1916
"example/example_srpc.pb.go",
17+
"example/example_srpc.pb.rs",
2018
"example/example_srpc.pb.ts"
2119
],
2220
"protoFiles": [

example/example.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/example.pb.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// @generated
2+
// This file is @generated by prost-build.
3+
/// EchoMsg is the message body for Echo.
4+
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5+
pub struct EchoMsg {
6+
#[prost(string, tag="1")]
7+
pub body: ::prost::alloc::string::String,
8+
}
9+
// @@protoc_insertion_point(module)

example/example_srpc.pb.cpp

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
//go:build deps_only
2+
3+
// Code generated by protoc-gen-starpc-cpp. DO NOT EDIT.
4+
// protoc-gen-starpc-cpp version: v0.46.1
5+
// source: github.com/aperturerobotics/template/example/example.proto
6+
7+
#include "example_srpc.pb.hpp"
8+
9+
namespace example {
10+
11+
starpc::Error SRPCEchoerClientImpl::Echo(const example::EchoMsg& in, example::EchoMsg* out) {
12+
return cc_->ExecCall(service_id_, "Echo", in, out);
13+
}
14+
15+
std::pair<std::unique_ptr<SRPCEchoer_EchoServerStreamClient>, starpc::Error> SRPCEchoerClientImpl::EchoServerStream(const example::EchoMsg& in) {
16+
auto [strm, err] = cc_->NewStream(service_id_, "EchoServerStream", &in);
17+
if (err != starpc::Error::OK) {
18+
return {nullptr, err};
19+
}
20+
err = strm->CloseSend();
21+
if (err != starpc::Error::OK) {
22+
return {nullptr, err};
23+
}
24+
return {std::make_unique<SRPCEchoer_EchoServerStreamClient>(std::move(strm)), starpc::Error::OK};
25+
}
26+
27+
std::pair<std::unique_ptr<SRPCEchoer_EchoClientStreamClient>, starpc::Error> SRPCEchoerClientImpl::EchoClientStream() {
28+
auto [strm, err] = cc_->NewStream(service_id_, "EchoClientStream", nullptr);
29+
if (err != starpc::Error::OK) {
30+
return {nullptr, err};
31+
}
32+
return {std::make_unique<SRPCEchoer_EchoClientStreamClient>(std::move(strm)), starpc::Error::OK};
33+
}
34+
35+
std::pair<std::unique_ptr<SRPCEchoer_EchoBidiStreamClient>, starpc::Error> SRPCEchoerClientImpl::EchoBidiStream() {
36+
auto [strm, err] = cc_->NewStream(service_id_, "EchoBidiStream", nullptr);
37+
if (err != starpc::Error::OK) {
38+
return {nullptr, err};
39+
}
40+
return {std::make_unique<SRPCEchoer_EchoBidiStreamClient>(std::move(strm)), starpc::Error::OK};
41+
}
42+
43+
std::vector<std::string> SRPCEchoerHandler::GetMethodIDs() const {
44+
return {
45+
"Echo",
46+
"EchoServerStream",
47+
"EchoClientStream",
48+
"EchoBidiStream",
49+
};
50+
}
51+
52+
std::pair<bool, starpc::Error> SRPCEchoerHandler::InvokeMethod(
53+
const std::string& service_id,
54+
const std::string& method_id,
55+
starpc::Stream* strm) {
56+
if (!service_id.empty() && service_id != service_id_) {
57+
return {false, starpc::Error::OK};
58+
}
59+
60+
if (method_id == "Echo") {
61+
example::EchoMsg req;
62+
starpc::Error err = strm->MsgRecv(&req);
63+
if (err != starpc::Error::OK) return {true, err};
64+
example::EchoMsg resp;
65+
err = impl_->Echo(req, &resp);
66+
if (err != starpc::Error::OK) return {true, err};
67+
return {true, strm->MsgSend(resp)};
68+
} else if (method_id == "EchoServerStream") {
69+
example::EchoMsg req;
70+
starpc::Error err = strm->MsgRecv(&req);
71+
if (err != starpc::Error::OK) return {true, err};
72+
SRPCEchoer_EchoServerStreamStream serverStrm(strm);
73+
return {true, impl_->EchoServerStream(req, &serverStrm)};
74+
} else if (method_id == "EchoClientStream") {
75+
SRPCEchoer_EchoClientStreamStream clientStrm(strm);
76+
example::EchoMsg resp;
77+
starpc::Error err = impl_->EchoClientStream(&clientStrm, &resp);
78+
if (err != starpc::Error::OK) return {true, err};
79+
return {true, strm->MsgSend(resp)};
80+
} else if (method_id == "EchoBidiStream") {
81+
SRPCEchoer_EchoBidiStreamStream bidiStrm(strm);
82+
return {true, impl_->EchoBidiStream(&bidiStrm)};
83+
}
84+
85+
return {false, starpc::Error::OK};
86+
}
87+
88+
} // namespace example

example/example_srpc.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/example_srpc.pb.hpp

Lines changed: 237 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
//go:build deps_only && cgo
2+
3+
// Code generated by protoc-gen-starpc-cpp. DO NOT EDIT.
4+
// protoc-gen-starpc-cpp version: v0.46.1
5+
// source: github.com/aperturerobotics/template/example/example.proto
6+
7+
#pragma once
8+
9+
#include <functional>
10+
#include <memory>
11+
#include <string>
12+
#include <utility>
13+
14+
#include "srpc/starpc.hpp"
15+
16+
#include "example.pb.h"
17+
18+
namespace example {
19+
20+
// Service ID for Echoer
21+
constexpr const char* kSRPCEchoerServiceID = "example.Echoer";
22+
23+
class SRPCEchoer_EchoServerStreamClient;
24+
class SRPCEchoer_EchoServerStreamStream;
25+
class SRPCEchoer_EchoClientStreamClient;
26+
class SRPCEchoer_EchoClientStreamStream;
27+
class SRPCEchoer_EchoBidiStreamClient;
28+
class SRPCEchoer_EchoBidiStreamStream;
29+
30+
// SRPCEchoerClient is the client API for Echoer service.
31+
class SRPCEchoerClient {
32+
public:
33+
virtual ~SRPCEchoerClient() = default;
34+
35+
// SRPCClient returns the underlying SRPC client.
36+
virtual starpc::Client* SRPCClient() = 0;
37+
38+
// Echo
39+
virtual starpc::Error Echo(const example::EchoMsg& in, example::EchoMsg* out) = 0;
40+
// EchoServerStream
41+
virtual std::pair<std::unique_ptr<SRPCEchoer_EchoServerStreamClient>, starpc::Error> EchoServerStream(const example::EchoMsg& in) = 0;
42+
// EchoClientStream
43+
virtual std::pair<std::unique_ptr<SRPCEchoer_EchoClientStreamClient>, starpc::Error> EchoClientStream() = 0;
44+
// EchoBidiStream
45+
virtual std::pair<std::unique_ptr<SRPCEchoer_EchoBidiStreamClient>, starpc::Error> EchoBidiStream() = 0;
46+
};
47+
48+
// SRPCEchoerClientImpl implements SRPCEchoerClient.
49+
class SRPCEchoerClientImpl : public SRPCEchoerClient {
50+
public:
51+
explicit SRPCEchoerClientImpl(starpc::Client* cc, const std::string& service_id = "")
52+
: cc_(cc), service_id_(service_id.empty() ? kSRPCEchoerServiceID : service_id) {}
53+
54+
starpc::Client* SRPCClient() override { return cc_; }
55+
56+
// Echo
57+
virtual starpc::Error Echo(const example::EchoMsg& in, example::EchoMsg* out) override;
58+
// EchoServerStream
59+
virtual std::pair<std::unique_ptr<SRPCEchoer_EchoServerStreamClient>, starpc::Error> EchoServerStream(const example::EchoMsg& in) override;
60+
// EchoClientStream
61+
virtual std::pair<std::unique_ptr<SRPCEchoer_EchoClientStreamClient>, starpc::Error> EchoClientStream() override;
62+
// EchoBidiStream
63+
virtual std::pair<std::unique_ptr<SRPCEchoer_EchoBidiStreamClient>, starpc::Error> EchoBidiStream() override;
64+
65+
private:
66+
starpc::Client* cc_;
67+
std::string service_id_;
68+
};
69+
70+
// NewSRPCEchoerClient creates a new client.
71+
inline std::unique_ptr<SRPCEchoerClient> NewSRPCEchoerClient(starpc::Client* cc) {
72+
return std::make_unique<SRPCEchoerClientImpl>(cc);
73+
}
74+
75+
// SRPCEchoerServer is the server API for Echoer service.
76+
class SRPCEchoerServer {
77+
public:
78+
virtual ~SRPCEchoerServer() = default;
79+
80+
// Echo
81+
virtual starpc::Error Echo(const example::EchoMsg& req, example::EchoMsg* resp) = 0;
82+
// EchoServerStream
83+
virtual starpc::Error EchoServerStream(const example::EchoMsg& req, SRPCEchoer_EchoServerStreamStream* strm) = 0;
84+
// EchoClientStream
85+
virtual starpc::Error EchoClientStream(SRPCEchoer_EchoClientStreamStream* strm, example::EchoMsg* resp) = 0;
86+
// EchoBidiStream
87+
virtual starpc::Error EchoBidiStream(SRPCEchoer_EchoBidiStreamStream* strm) = 0;
88+
};
89+
90+
// SRPCEchoerHandler implements starpc::Handler for Echoer.
91+
class SRPCEchoerHandler : public starpc::Handler {
92+
public:
93+
SRPCEchoerHandler(SRPCEchoerServer* impl, const std::string& service_id = "")
94+
: impl_(impl), service_id_(service_id.empty() ? kSRPCEchoerServiceID : service_id) {}
95+
96+
const std::string& GetServiceID() const override { return service_id_; }
97+
std::vector<std::string> GetMethodIDs() const override;
98+
std::pair<bool, starpc::Error> InvokeMethod(
99+
const std::string& service_id,
100+
const std::string& method_id,
101+
starpc::Stream* strm) override;
102+
103+
private:
104+
SRPCEchoerServer* impl_;
105+
std::string service_id_;
106+
};
107+
108+
// NewSRPCEchoerHandler creates a new handler for the given implementation.
109+
inline std::unique_ptr<SRPCEchoerHandler> NewSRPCEchoerHandler(SRPCEchoerServer* impl) {
110+
return std::make_unique<SRPCEchoerHandler>(impl);
111+
}
112+
113+
// SRPCRegisterEchoer registers the server implementation with the mux.
114+
// The returned handler must outlive the mux registration.
115+
inline std::pair<std::unique_ptr<SRPCEchoerHandler>, starpc::Error> SRPCRegisterEchoer(starpc::Mux* mux, SRPCEchoerServer* impl) {
116+
auto handler = NewSRPCEchoerHandler(impl);
117+
starpc::Error err = mux->Register(handler.get());
118+
if (err != starpc::Error::OK) {
119+
return {nullptr, err};
120+
}
121+
return {std::move(handler), starpc::Error::OK};
122+
}
123+
124+
// SRPCEchoer_EchoServerStreamClient is the client stream for EchoServerStream.
125+
class SRPCEchoer_EchoServerStreamClient {
126+
public:
127+
explicit SRPCEchoer_EchoServerStreamClient(std::unique_ptr<starpc::Stream> strm) : strm_(std::move(strm)) {}
128+
129+
starpc::Error Recv(example::EchoMsg* msg) {
130+
return strm_->MsgRecv(msg);
131+
}
132+
133+
starpc::Error CloseSend() { return strm_->CloseSend(); }
134+
starpc::Error Close() { return strm_->Close(); }
135+
136+
private:
137+
std::unique_ptr<starpc::Stream> strm_;
138+
};
139+
140+
// SRPCEchoer_EchoServerStreamStream is the server stream for EchoServerStream.
141+
class SRPCEchoer_EchoServerStreamStream {
142+
public:
143+
explicit SRPCEchoer_EchoServerStreamStream(starpc::Stream* strm) : strm_(strm) {}
144+
145+
starpc::Error Send(const example::EchoMsg& msg) {
146+
return strm_->MsgSend(msg);
147+
}
148+
149+
starpc::Error SendAndClose(const example::EchoMsg& msg) {
150+
starpc::Error err = strm_->MsgSend(msg);
151+
if (err != starpc::Error::OK) return err;
152+
return strm_->CloseSend();
153+
}
154+
155+
private:
156+
starpc::Stream* strm_;
157+
};
158+
159+
// SRPCEchoer_EchoClientStreamClient is the client stream for EchoClientStream.
160+
class SRPCEchoer_EchoClientStreamClient {
161+
public:
162+
explicit SRPCEchoer_EchoClientStreamClient(std::unique_ptr<starpc::Stream> strm) : strm_(std::move(strm)) {}
163+
164+
starpc::Error Send(const example::EchoMsg& msg) {
165+
return strm_->MsgSend(msg);
166+
}
167+
168+
starpc::Error CloseAndRecv(example::EchoMsg* msg) {
169+
starpc::Error err = strm_->CloseSend();
170+
if (err != starpc::Error::OK) return err;
171+
return strm_->MsgRecv(msg);
172+
}
173+
174+
starpc::Error CloseSend() { return strm_->CloseSend(); }
175+
starpc::Error Close() { return strm_->Close(); }
176+
177+
private:
178+
std::unique_ptr<starpc::Stream> strm_;
179+
};
180+
181+
// SRPCEchoer_EchoClientStreamStream is the server stream for EchoClientStream.
182+
class SRPCEchoer_EchoClientStreamStream {
183+
public:
184+
explicit SRPCEchoer_EchoClientStreamStream(starpc::Stream* strm) : strm_(strm) {}
185+
186+
starpc::Error Recv(example::EchoMsg* msg) {
187+
return strm_->MsgRecv(msg);
188+
}
189+
190+
private:
191+
starpc::Stream* strm_;
192+
};
193+
194+
// SRPCEchoer_EchoBidiStreamClient is the client stream for EchoBidiStream.
195+
class SRPCEchoer_EchoBidiStreamClient {
196+
public:
197+
explicit SRPCEchoer_EchoBidiStreamClient(std::unique_ptr<starpc::Stream> strm) : strm_(std::move(strm)) {}
198+
199+
starpc::Error Send(const example::EchoMsg& msg) {
200+
return strm_->MsgSend(msg);
201+
}
202+
203+
starpc::Error Recv(example::EchoMsg* msg) {
204+
return strm_->MsgRecv(msg);
205+
}
206+
207+
starpc::Error CloseSend() { return strm_->CloseSend(); }
208+
starpc::Error Close() { return strm_->Close(); }
209+
210+
private:
211+
std::unique_ptr<starpc::Stream> strm_;
212+
};
213+
214+
// SRPCEchoer_EchoBidiStreamStream is the server stream for EchoBidiStream.
215+
class SRPCEchoer_EchoBidiStreamStream {
216+
public:
217+
explicit SRPCEchoer_EchoBidiStreamStream(starpc::Stream* strm) : strm_(strm) {}
218+
219+
starpc::Error Send(const example::EchoMsg& msg) {
220+
return strm_->MsgSend(msg);
221+
}
222+
223+
starpc::Error SendAndClose(const example::EchoMsg& msg) {
224+
starpc::Error err = strm_->MsgSend(msg);
225+
if (err != starpc::Error::OK) return err;
226+
return strm_->CloseSend();
227+
}
228+
229+
starpc::Error Recv(example::EchoMsg* msg) {
230+
return strm_->MsgRecv(msg);
231+
}
232+
233+
private:
234+
starpc::Stream* strm_;
235+
};
236+
237+
} // namespace example

0 commit comments

Comments
 (0)