grpc-go как разобраться пример отмены - PullRequest
0 голосов
/ 04 апреля 2019

Я смотрю на пример grpc, но я не понимаю этот пример. Может кто-нибудь объяснить это мне?

пример расположен: https://github.com/grpc/grpc-go/blob/master/examples/features/cancellation/server/main.go#L52

func (s *server) BidirectionalStreamingEcho(stream pb.Echo_BidirectionalStreamingEchoServer) error {
    for {
        in, err := stream.Recv()
        if err != nil {
            fmt.Printf("server: error receiving from stream: %v\n", err)
            if err == io.EOF {
                return nil
            }
            return err
        }
        fmt.Printf("echoing message %q\n", in.Message)
        stream.Send(&pb.EchoResponse{Message: in.Message})
    }
}

Может кто-нибудь объяснить процесс этого исполнения, как он называется? ТНХ.

1 Ответ

1 голос
/ 04 апреля 2019

клиент вызывает метод

    stream, err := c.BidirectionalStreamingEcho(ctx)

, поэтому сервер начнет вызов BidirectionalStreamingEcho

...