proto/envoy/service/accesslog/v3/als_grpc.pb.go (96 lines of code) (raw):
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
package v3
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
// AccessLogServiceClient is the client API for AccessLogService service.
//
// 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.
type AccessLogServiceClient interface {
// Envoy will connect and send StreamAccessLogsMessage messages forever. It does not expect any
// response to be sent as nothing would be done in the case of failure. The server should
// disconnect if it expects Envoy to reconnect. In the future we may decide to add a different
// API for "critical" access logs in which Envoy will buffer access logs for some period of time
// until it gets an ACK so it could then retry. This API is designed for high throughput with the
// expectation that it might be lossy.
StreamAccessLogs(ctx context.Context, opts ...grpc.CallOption) (AccessLogService_StreamAccessLogsClient, error)
}
type accessLogServiceClient struct {
cc grpc.ClientConnInterface
}
func NewAccessLogServiceClient(cc grpc.ClientConnInterface) AccessLogServiceClient {
return &accessLogServiceClient{cc}
}
func (c *accessLogServiceClient) StreamAccessLogs(ctx context.Context, opts ...grpc.CallOption) (AccessLogService_StreamAccessLogsClient, error) {
stream, err := c.cc.NewStream(ctx, &AccessLogService_ServiceDesc.Streams[0], "/envoy.service.accesslog.v3.AccessLogService/StreamAccessLogs", opts...)
if err != nil {
return nil, err
}
x := &accessLogServiceStreamAccessLogsClient{stream}
return x, nil
}
type AccessLogService_StreamAccessLogsClient interface {
Send(*StreamAccessLogsMessage) error
CloseAndRecv() (*StreamAccessLogsResponse, error)
grpc.ClientStream
}
type accessLogServiceStreamAccessLogsClient struct {
grpc.ClientStream
}
func (x *accessLogServiceStreamAccessLogsClient) Send(m *StreamAccessLogsMessage) error {
return x.ClientStream.SendMsg(m)
}
func (x *accessLogServiceStreamAccessLogsClient) CloseAndRecv() (*StreamAccessLogsResponse, error) {
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
m := new(StreamAccessLogsResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// AccessLogServiceServer is the server API for AccessLogService service.
// All implementations must embed UnimplementedAccessLogServiceServer
// for forward compatibility
type AccessLogServiceServer interface {
// Envoy will connect and send StreamAccessLogsMessage messages forever. It does not expect any
// response to be sent as nothing would be done in the case of failure. The server should
// disconnect if it expects Envoy to reconnect. In the future we may decide to add a different
// API for "critical" access logs in which Envoy will buffer access logs for some period of time
// until it gets an ACK so it could then retry. This API is designed for high throughput with the
// expectation that it might be lossy.
StreamAccessLogs(AccessLogService_StreamAccessLogsServer) error
mustEmbedUnimplementedAccessLogServiceServer()
}
// UnimplementedAccessLogServiceServer must be embedded to have forward compatible implementations.
type UnimplementedAccessLogServiceServer struct {
}
func (UnimplementedAccessLogServiceServer) StreamAccessLogs(AccessLogService_StreamAccessLogsServer) error {
return status.Errorf(codes.Unimplemented, "method StreamAccessLogs not implemented")
}
func (UnimplementedAccessLogServiceServer) mustEmbedUnimplementedAccessLogServiceServer() {}
// UnsafeAccessLogServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to AccessLogServiceServer will
// result in compilation errors.
type UnsafeAccessLogServiceServer interface {
mustEmbedUnimplementedAccessLogServiceServer()
}
func RegisterAccessLogServiceServer(s grpc.ServiceRegistrar, srv AccessLogServiceServer) {
s.RegisterService(&AccessLogService_ServiceDesc, srv)
}
func _AccessLogService_StreamAccessLogs_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(AccessLogServiceServer).StreamAccessLogs(&accessLogServiceStreamAccessLogsServer{stream})
}
type AccessLogService_StreamAccessLogsServer interface {
SendAndClose(*StreamAccessLogsResponse) error
Recv() (*StreamAccessLogsMessage, error)
grpc.ServerStream
}
type accessLogServiceStreamAccessLogsServer struct {
grpc.ServerStream
}
func (x *accessLogServiceStreamAccessLogsServer) SendAndClose(m *StreamAccessLogsResponse) error {
return x.ServerStream.SendMsg(m)
}
func (x *accessLogServiceStreamAccessLogsServer) Recv() (*StreamAccessLogsMessage, error) {
m := new(StreamAccessLogsMessage)
if err := x.ServerStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// AccessLogService_ServiceDesc is the grpc.ServiceDesc for AccessLogService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var AccessLogService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "envoy.service.accesslog.v3.AccessLogService",
HandlerType: (*AccessLogServiceServer)(nil),
Methods: []grpc.MethodDesc{},
Streams: []grpc.StreamDesc{
{
StreamName: "StreamAccessLogs",
Handler: _AccessLogService_StreamAccessLogs_Handler,
ClientStreams: true,
},
},
Metadata: "envoy/service/accesslog/v3/als.proto",
}