1// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
2
3package v1
4
5import (
6	context "context"
7	grpc "google.golang.org/grpc"
8	codes "google.golang.org/grpc/codes"
9	status "google.golang.org/grpc/status"
10)
11
12// This is a compile-time assertion to ensure that this generated file
13// is compatible with the grpc package it is being compiled against.
14const _ = grpc.SupportPackageIsVersion6
15
16// TraceServiceClient is the client API for TraceService service.
17//
18// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
19type TraceServiceClient interface {
20	// After initialization, this RPC must be kept alive for the entire life of
21	// the application. The agent pushes configs down to applications via a
22	// stream.
23	Config(ctx context.Context, opts ...grpc.CallOption) (TraceService_ConfigClient, error)
24	// For performance reasons, it is recommended to keep this RPC
25	// alive for the entire life of the application.
26	Export(ctx context.Context, opts ...grpc.CallOption) (TraceService_ExportClient, error)
27}
28
29type traceServiceClient struct {
30	cc grpc.ClientConnInterface
31}
32
33func NewTraceServiceClient(cc grpc.ClientConnInterface) TraceServiceClient {
34	return &traceServiceClient{cc}
35}
36
37func (c *traceServiceClient) Config(ctx context.Context, opts ...grpc.CallOption) (TraceService_ConfigClient, error) {
38	stream, err := c.cc.NewStream(ctx, &_TraceService_serviceDesc.Streams[0], "/opencensus.proto.agent.trace.v1.TraceService/Config", opts...)
39	if err != nil {
40		return nil, err
41	}
42	x := &traceServiceConfigClient{stream}
43	return x, nil
44}
45
46type TraceService_ConfigClient interface {
47	Send(*CurrentLibraryConfig) error
48	Recv() (*UpdatedLibraryConfig, error)
49	grpc.ClientStream
50}
51
52type traceServiceConfigClient struct {
53	grpc.ClientStream
54}
55
56func (x *traceServiceConfigClient) Send(m *CurrentLibraryConfig) error {
57	return x.ClientStream.SendMsg(m)
58}
59
60func (x *traceServiceConfigClient) Recv() (*UpdatedLibraryConfig, error) {
61	m := new(UpdatedLibraryConfig)
62	if err := x.ClientStream.RecvMsg(m); err != nil {
63		return nil, err
64	}
65	return m, nil
66}
67
68func (c *traceServiceClient) Export(ctx context.Context, opts ...grpc.CallOption) (TraceService_ExportClient, error) {
69	stream, err := c.cc.NewStream(ctx, &_TraceService_serviceDesc.Streams[1], "/opencensus.proto.agent.trace.v1.TraceService/Export", opts...)
70	if err != nil {
71		return nil, err
72	}
73	x := &traceServiceExportClient{stream}
74	return x, nil
75}
76
77type TraceService_ExportClient interface {
78	Send(*ExportTraceServiceRequest) error
79	Recv() (*ExportTraceServiceResponse, error)
80	grpc.ClientStream
81}
82
83type traceServiceExportClient struct {
84	grpc.ClientStream
85}
86
87func (x *traceServiceExportClient) Send(m *ExportTraceServiceRequest) error {
88	return x.ClientStream.SendMsg(m)
89}
90
91func (x *traceServiceExportClient) Recv() (*ExportTraceServiceResponse, error) {
92	m := new(ExportTraceServiceResponse)
93	if err := x.ClientStream.RecvMsg(m); err != nil {
94		return nil, err
95	}
96	return m, nil
97}
98
99// TraceServiceServer is the server API for TraceService service.
100// All implementations must embed UnimplementedTraceServiceServer
101// for forward compatibility
102type TraceServiceServer interface {
103	// After initialization, this RPC must be kept alive for the entire life of
104	// the application. The agent pushes configs down to applications via a
105	// stream.
106	Config(TraceService_ConfigServer) error
107	// For performance reasons, it is recommended to keep this RPC
108	// alive for the entire life of the application.
109	Export(TraceService_ExportServer) error
110	mustEmbedUnimplementedTraceServiceServer()
111}
112
113// UnimplementedTraceServiceServer must be embedded to have forward compatible implementations.
114type UnimplementedTraceServiceServer struct {
115}
116
117func (*UnimplementedTraceServiceServer) Config(TraceService_ConfigServer) error {
118	return status.Errorf(codes.Unimplemented, "method Config not implemented")
119}
120func (*UnimplementedTraceServiceServer) Export(TraceService_ExportServer) error {
121	return status.Errorf(codes.Unimplemented, "method Export not implemented")
122}
123func (*UnimplementedTraceServiceServer) mustEmbedUnimplementedTraceServiceServer() {}
124
125func RegisterTraceServiceServer(s *grpc.Server, srv TraceServiceServer) {
126	s.RegisterService(&_TraceService_serviceDesc, srv)
127}
128
129func _TraceService_Config_Handler(srv interface{}, stream grpc.ServerStream) error {
130	return srv.(TraceServiceServer).Config(&traceServiceConfigServer{stream})
131}
132
133type TraceService_ConfigServer interface {
134	Send(*UpdatedLibraryConfig) error
135	Recv() (*CurrentLibraryConfig, error)
136	grpc.ServerStream
137}
138
139type traceServiceConfigServer struct {
140	grpc.ServerStream
141}
142
143func (x *traceServiceConfigServer) Send(m *UpdatedLibraryConfig) error {
144	return x.ServerStream.SendMsg(m)
145}
146
147func (x *traceServiceConfigServer) Recv() (*CurrentLibraryConfig, error) {
148	m := new(CurrentLibraryConfig)
149	if err := x.ServerStream.RecvMsg(m); err != nil {
150		return nil, err
151	}
152	return m, nil
153}
154
155func _TraceService_Export_Handler(srv interface{}, stream grpc.ServerStream) error {
156	return srv.(TraceServiceServer).Export(&traceServiceExportServer{stream})
157}
158
159type TraceService_ExportServer interface {
160	Send(*ExportTraceServiceResponse) error
161	Recv() (*ExportTraceServiceRequest, error)
162	grpc.ServerStream
163}
164
165type traceServiceExportServer struct {
166	grpc.ServerStream
167}
168
169func (x *traceServiceExportServer) Send(m *ExportTraceServiceResponse) error {
170	return x.ServerStream.SendMsg(m)
171}
172
173func (x *traceServiceExportServer) Recv() (*ExportTraceServiceRequest, error) {
174	m := new(ExportTraceServiceRequest)
175	if err := x.ServerStream.RecvMsg(m); err != nil {
176		return nil, err
177	}
178	return m, nil
179}
180
181var _TraceService_serviceDesc = grpc.ServiceDesc{
182	ServiceName: "opencensus.proto.agent.trace.v1.TraceService",
183	HandlerType: (*TraceServiceServer)(nil),
184	Methods:     []grpc.MethodDesc{},
185	Streams: []grpc.StreamDesc{
186		{
187			StreamName:    "Config",
188			Handler:       _TraceService_Config_Handler,
189			ServerStreams: true,
190			ClientStreams: true,
191		},
192		{
193			StreamName:    "Export",
194			Handler:       _TraceService_Export_Handler,
195			ServerStreams: true,
196			ClientStreams: true,
197		},
198	},
199	Metadata: "opencensus/proto/agent/trace/v1/trace_service.proto",
200}
201