var errAlreadySentHeader … type ws2wc … func WatchServerToWatchClient(wserv pb.WatchServer) pb.WatchClient { … } func (s *ws2wc) Watch(ctx context.Context, opts ...grpc.CallOption) (pb.Watch_WatchClient, error) { … } type ws2wcClientStream … type ws2wcServerStream … func (s *ws2wcClientStream) Send(wr *pb.WatchRequest) error { … } func (s *ws2wcClientStream) Recv() (*pb.WatchResponse, error) { … } func (s *ws2wcServerStream) Send(wr *pb.WatchResponse) error { … } func (s *ws2wcServerStream) Recv() (*pb.WatchRequest, error) { … }