dubbo.apache.org/dubbo-go/v3@v3.1.1/protocol/grpc/internal/helloworld/client.go (about)

     1  /*
     2   * Licensed to the Apache Software Foundation (ASF) under one or more
     3   * contributor license agreements.  See the NOTICE file distributed with
     4   * this work for additional information regarding copyright ownership.
     5   * The ASF licenses this file to You under the Apache License, Version 2.0
     6   * (the "License"); you may not use this file except in compliance with
     7   * the License.  You may obtain a copy of the License at
     8   *
     9   *     http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   */
    17  
    18  package helloworld
    19  
    20  import (
    21  	"context"
    22  )
    23  
    24  import (
    25  	"google.golang.org/grpc"
    26  )
    27  
    28  import (
    29  	"dubbo.apache.org/dubbo-go/v3/config"
    30  )
    31  
    32  func init() {
    33  	config.SetConsumerServiceByInterfaceName("io.grpc.examples.helloworld.GreeterGrpc$IGreeter", &GrpcGreeterImpl{})
    34  	config.SetConsumerService(&GrpcGreeterImpl{})
    35  }
    36  
    37  // GrpcGreeterImpl
    38  // used for dubbo-grpc biz client
    39  type GrpcGreeterImpl struct {
    40  	SayHello func(ctx context.Context, in *HelloRequest, out *HelloReply) error
    41  }
    42  
    43  // Reference ...
    44  func (u *GrpcGreeterImpl) Reference() string {
    45  	return "GrpcGreeterImpl"
    46  }
    47  
    48  // GetDubboStub ...
    49  func (u *GrpcGreeterImpl) GetDubboStub(cc *grpc.ClientConn) GreeterClient {
    50  	return NewGreeterClient(cc)
    51  }