• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?php
2// GENERATED CODE -- DO NOT EDIT!
3
4// Original file comments:
5// Copyright 2015-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// An integration test service that covers all the method signature permutations
20// of unary/streaming requests/responses.
21//
22namespace Grpc\Testing;
23
24/**
25 * A simple service to test the various types of RPCs and experiment with
26 * performance with various types of payload.
27 */
28class TestServiceClient extends \Grpc\BaseStub {
29
30    /**
31     * @param string $hostname hostname
32     * @param array $opts channel options
33     * @param \Grpc\Channel $channel (optional) re-use channel object
34     */
35    public function __construct($hostname, $opts, $channel = null) {
36        parent::__construct($hostname, $opts, $channel);
37    }
38
39    /**
40     * One empty request followed by one empty response.
41     * @param \Grpc\Testing\PBEmpty $argument input argument
42     * @param array $metadata metadata
43     * @param array $options call options
44     */
45    public function EmptyCall(\Grpc\Testing\PBEmpty $argument,
46      $metadata = [], $options = []) {
47        return $this->_simpleRequest('/grpc.testing.TestService/EmptyCall',
48        $argument,
49        ['\Grpc\Testing\PBEmpty', 'decode'],
50        $metadata, $options);
51    }
52
53    /**
54     * One request followed by one response.
55     * @param \Grpc\Testing\SimpleRequest $argument input argument
56     * @param array $metadata metadata
57     * @param array $options call options
58     */
59    public function UnaryCall(\Grpc\Testing\SimpleRequest $argument,
60      $metadata = [], $options = []) {
61        return $this->_simpleRequest('/grpc.testing.TestService/UnaryCall',
62        $argument,
63        ['\Grpc\Testing\SimpleResponse', 'decode'],
64        $metadata, $options);
65    }
66
67    /**
68     * One request followed by one response. Response has cache control
69     * headers set such that a caching HTTP proxy (such as GFE) can
70     * satisfy subsequent requests.
71     * @param \Grpc\Testing\SimpleRequest $argument input argument
72     * @param array $metadata metadata
73     * @param array $options call options
74     */
75    public function CacheableUnaryCall(\Grpc\Testing\SimpleRequest $argument,
76      $metadata = [], $options = []) {
77        return $this->_simpleRequest('/grpc.testing.TestService/CacheableUnaryCall',
78        $argument,
79        ['\Grpc\Testing\SimpleResponse', 'decode'],
80        $metadata, $options);
81    }
82
83    /**
84     * One request followed by a sequence of responses (streamed download).
85     * The server returns the payload with client desired type and sizes.
86     * @param \Grpc\Testing\StreamingOutputCallRequest $argument input argument
87     * @param array $metadata metadata
88     * @param array $options call options
89     */
90    public function StreamingOutputCall(\Grpc\Testing\StreamingOutputCallRequest $argument,
91      $metadata = [], $options = []) {
92        return $this->_serverStreamRequest('/grpc.testing.TestService/StreamingOutputCall',
93        $argument,
94        ['\Grpc\Testing\StreamingOutputCallResponse', 'decode'],
95        $metadata, $options);
96    }
97
98    /**
99     * A sequence of requests followed by one response (streamed upload).
100     * The server returns the aggregated size of client payload as the result.
101     * @param array $metadata metadata
102     * @param array $options call options
103     */
104    public function StreamingInputCall($metadata = [], $options = []) {
105        return $this->_clientStreamRequest('/grpc.testing.TestService/StreamingInputCall',
106        ['\Grpc\Testing\StreamingInputCallResponse','decode'],
107        $metadata, $options);
108    }
109
110    /**
111     * A sequence of requests with each request served by the server immediately.
112     * As one request could lead to multiple responses, this interface
113     * demonstrates the idea of full duplexing.
114     * @param array $metadata metadata
115     * @param array $options call options
116     */
117    public function FullDuplexCall($metadata = [], $options = []) {
118        return $this->_bidiRequest('/grpc.testing.TestService/FullDuplexCall',
119        ['\Grpc\Testing\StreamingOutputCallResponse','decode'],
120        $metadata, $options);
121    }
122
123    /**
124     * A sequence of requests followed by a sequence of responses.
125     * The server buffers all the client requests and then serves them in order. A
126     * stream of responses are returned to the client when the server starts with
127     * first request.
128     * @param array $metadata metadata
129     * @param array $options call options
130     */
131    public function HalfDuplexCall($metadata = [], $options = []) {
132        return $this->_bidiRequest('/grpc.testing.TestService/HalfDuplexCall',
133        ['\Grpc\Testing\StreamingOutputCallResponse','decode'],
134        $metadata, $options);
135    }
136
137    /**
138     * The test server will not implement this method. It will be used
139     * to test the behavior when clients call unimplemented methods.
140     * @param \Grpc\Testing\PBEmpty $argument input argument
141     * @param array $metadata metadata
142     * @param array $options call options
143     */
144    public function UnimplementedCall(\Grpc\Testing\PBEmpty $argument,
145      $metadata = [], $options = []) {
146        return $this->_simpleRequest('/grpc.testing.TestService/UnimplementedCall',
147        $argument,
148        ['\Grpc\Testing\PBEmpty', 'decode'],
149        $metadata, $options);
150    }
151
152}
153