2025-02-16 17:30:04 +08:00
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc v5.29.3
// source: skills/grpc/service/hello.proto
package service
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.64.0 or later.
const _ = grpc . SupportPackageIsVersion9
const (
HelloService_Hello_FullMethodName = "/hello.HelloService/Hello"
2025-02-16 18:13:10 +08:00
HelloService_Chat_FullMethodName = "/hello.HelloService/Chat"
2025-02-16 17:30:04 +08:00
)
// HelloServiceClient is the client API for HelloService 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.
//
// grpc 接口声明
type HelloServiceClient interface {
Hello ( ctx context . Context , in * HelloRequest , opts ... grpc . CallOption ) ( * HelloResponse , error )
2025-02-16 18:13:10 +08:00
// 双向流接口
Chat ( ctx context . Context , opts ... grpc . CallOption ) ( grpc . BidiStreamingClient [ ChatRequest , ChatResponse ] , error )
2025-02-16 17:30:04 +08:00
}
type helloServiceClient struct {
cc grpc . ClientConnInterface
}
func NewHelloServiceClient ( cc grpc . ClientConnInterface ) HelloServiceClient {
return & helloServiceClient { cc }
}
func ( c * helloServiceClient ) Hello ( ctx context . Context , in * HelloRequest , opts ... grpc . CallOption ) ( * HelloResponse , error ) {
cOpts := append ( [ ] grpc . CallOption { grpc . StaticMethod ( ) } , opts ... )
out := new ( HelloResponse )
err := c . cc . Invoke ( ctx , HelloService_Hello_FullMethodName , in , out , cOpts ... )
if err != nil {
return nil , err
}
return out , nil
}
2025-02-16 18:13:10 +08:00
func ( c * helloServiceClient ) Chat ( ctx context . Context , opts ... grpc . CallOption ) ( grpc . BidiStreamingClient [ ChatRequest , ChatResponse ] , error ) {
cOpts := append ( [ ] grpc . CallOption { grpc . StaticMethod ( ) } , opts ... )
stream , err := c . cc . NewStream ( ctx , & HelloService_ServiceDesc . Streams [ 0 ] , HelloService_Chat_FullMethodName , cOpts ... )
if err != nil {
return nil , err
}
x := & grpc . GenericClientStream [ ChatRequest , ChatResponse ] { ClientStream : stream }
return x , nil
}
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type HelloService_ChatClient = grpc . BidiStreamingClient [ ChatRequest , ChatResponse ]
2025-02-16 17:30:04 +08:00
// HelloServiceServer is the server API for HelloService service.
// All implementations must embed UnimplementedHelloServiceServer
// for forward compatibility.
//
// grpc 接口声明
type HelloServiceServer interface {
Hello ( context . Context , * HelloRequest ) ( * HelloResponse , error )
2025-02-16 18:13:10 +08:00
// 双向流接口
Chat ( grpc . BidiStreamingServer [ ChatRequest , ChatResponse ] ) error
2025-02-16 17:30:04 +08:00
mustEmbedUnimplementedHelloServiceServer ( )
}
// UnimplementedHelloServiceServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedHelloServiceServer struct { }
func ( UnimplementedHelloServiceServer ) Hello ( context . Context , * HelloRequest ) ( * HelloResponse , error ) {
return nil , status . Errorf ( codes . Unimplemented , "method Hello not implemented" )
}
2025-02-16 18:13:10 +08:00
func ( UnimplementedHelloServiceServer ) Chat ( grpc . BidiStreamingServer [ ChatRequest , ChatResponse ] ) error {
return status . Errorf ( codes . Unimplemented , "method Chat not implemented" )
}
2025-02-16 17:30:04 +08:00
func ( UnimplementedHelloServiceServer ) mustEmbedUnimplementedHelloServiceServer ( ) { }
func ( UnimplementedHelloServiceServer ) testEmbeddedByValue ( ) { }
// UnsafeHelloServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to HelloServiceServer will
// result in compilation errors.
type UnsafeHelloServiceServer interface {
mustEmbedUnimplementedHelloServiceServer ( )
}
func RegisterHelloServiceServer ( s grpc . ServiceRegistrar , srv HelloServiceServer ) {
// If the following call pancis, it indicates UnimplementedHelloServiceServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t , ok := srv . ( interface { testEmbeddedByValue ( ) } ) ; ok {
t . testEmbeddedByValue ( )
}
s . RegisterService ( & HelloService_ServiceDesc , srv )
}
func _HelloService_Hello_Handler ( srv interface { } , ctx context . Context , dec func ( interface { } ) error , interceptor grpc . UnaryServerInterceptor ) ( interface { } , error ) {
in := new ( HelloRequest )
if err := dec ( in ) ; err != nil {
return nil , err
}
if interceptor == nil {
return srv . ( HelloServiceServer ) . Hello ( ctx , in )
}
info := & grpc . UnaryServerInfo {
Server : srv ,
FullMethod : HelloService_Hello_FullMethodName ,
}
handler := func ( ctx context . Context , req interface { } ) ( interface { } , error ) {
return srv . ( HelloServiceServer ) . Hello ( ctx , req . ( * HelloRequest ) )
}
return interceptor ( ctx , in , info , handler )
}
2025-02-16 18:13:10 +08:00
func _HelloService_Chat_Handler ( srv interface { } , stream grpc . ServerStream ) error {
return srv . ( HelloServiceServer ) . Chat ( & grpc . GenericServerStream [ ChatRequest , ChatResponse ] { ServerStream : stream } )
}
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type HelloService_ChatServer = grpc . BidiStreamingServer [ ChatRequest , ChatResponse ]
2025-02-16 17:30:04 +08:00
// HelloService_ServiceDesc is the grpc.ServiceDesc for HelloService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var HelloService_ServiceDesc = grpc . ServiceDesc {
ServiceName : "hello.HelloService" ,
HandlerType : ( * HelloServiceServer ) ( nil ) ,
Methods : [ ] grpc . MethodDesc {
{
MethodName : "Hello" ,
Handler : _HelloService_Hello_Handler ,
} ,
} ,
2025-02-16 18:13:10 +08:00
Streams : [ ] grpc . StreamDesc {
{
StreamName : "Chat" ,
Handler : _HelloService_Chat_Handler ,
ServerStreams : true ,
ClientStreams : true ,
} ,
} ,
2025-02-16 17:30:04 +08:00
Metadata : "skills/grpc/service/hello.proto" ,
}