1<?php
2// GENERATED CODE -- DO NOT EDIT!
3
4// Original file comments:
5// Copyright 2016 gRPC authors.
6//
7// Licensed under the Apache License, Version 2.0 (the "License");
8// you may not use this file except in compliance with the License.
9// You may obtain a copy of the License at
10//
11//     http://www.apache.org/licenses/LICENSE-2.0
12//
13// Unless required by applicable law or agreed to in writing, software
14// distributed under the License is distributed on an "AS IS" BASIS,
15// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16// See the License for the specific language governing permissions and
17// limitations under the License.
18//
19// File detached comment 1
20//
21// File detached comment 2
22//
23// File leading comment 1
24namespace Grpc\Testing;
25
26/**
27 * ServiceA detached comment 1
28 *
29 * ServiceA detached comment 2
30 *
31 * ServiceA leading comment 1
32 */
33class ServiceAClient extends \Grpc\BaseStub {
34
35    /**
36     * @param string $hostname hostname
37     * @param array $opts channel options
38     * @param \Grpc\Channel $channel (optional) re-use channel object
39     */
40    public function __construct($hostname, $opts, $channel = null) {
41        parent::__construct($hostname, $opts, $channel);
42    }
43
44    /**
45     * MethodA1 leading comment 1
46     * @param \Grpc\Testing\Request $argument input argument
47     * @param array $metadata metadata
48     * @param array $options call options
49     */
50    public function MethodA1(\Grpc\Testing\Request $argument,
51      $metadata = [], $options = []) {
52        return $this->_simpleRequest('/grpc.testing.ServiceA/MethodA1',
53        $argument,
54        ['\Grpc\Testing\Response', 'decode'],
55        $metadata, $options);
56    }
57
58    /**
59     * MethodA2 detached leading comment 1
60     *
61     * Method A2 leading comment 1
62     * Method A2 leading comment 2
63     * @param array $metadata metadata
64     * @param array $options call options
65     */
66    public function MethodA2($metadata = [], $options = []) {
67        return $this->_clientStreamRequest('/grpc.testing.ServiceA/MethodA2',
68        ['\Grpc\Testing\Response','decode'],
69        $metadata, $options);
70    }
71
72    /**
73     * Method A3 leading comment 1
74     * @param \Grpc\Testing\Request $argument input argument
75     * @param array $metadata metadata
76     * @param array $options call options
77     */
78    public function MethodA3(\Grpc\Testing\Request $argument,
79      $metadata = [], $options = []) {
80        return $this->_serverStreamRequest('/grpc.testing.ServiceA/MethodA3',
81        $argument,
82        ['\Grpc\Testing\Response', 'decode'],
83        $metadata, $options);
84    }
85
86    /**
87     * Method A4 leading comment 1
88     * @param array $metadata metadata
89     * @param array $options call options
90     */
91    public function MethodA4($metadata = [], $options = []) {
92        return $this->_bidiRequest('/grpc.testing.ServiceA/MethodA4',
93        ['\Grpc\Testing\Response','decode'],
94        $metadata, $options);
95    }
96
97}
98