OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
firebase
/
vendor
/
google
/
grpc-gcp
/
src
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/12/2024 10:36:20 AM
rwxr-xr-x
📄
ChannelRef.php
3.27 KB
08/12/2024 10:33:15 AM
rw-r--r--
📄
Config.php
4.34 KB
08/12/2024 10:33:15 AM
rw-r--r--
📄
CreatedByDeserializeCheck.php
1.94 KB
08/12/2024 10:33:15 AM
rw-r--r--
📄
GCPBidiStreamingCall.php
3.22 KB
08/12/2024 10:33:15 AM
rw-r--r--
📄
GCPCallInvoker.php
2.97 KB
08/12/2024 10:33:15 AM
rw-r--r--
📄
GCPClientStreamCall.php
2.46 KB
08/12/2024 10:33:15 AM
rw-r--r--
📄
GCPServerStreamCall.php
2.81 KB
08/12/2024 10:33:15 AM
rw-r--r--
📄
GCPUnaryCall.php
2.2 KB
08/12/2024 10:33:15 AM
rw-r--r--
📄
GcpBaseCall.php
6.83 KB
08/12/2024 10:33:15 AM
rw-r--r--
📄
GcpExtensionChannel.php
10.32 KB
08/12/2024 10:33:15 AM
rw-r--r--
📁
generated
-
08/12/2024 10:36:20 AM
rwxr-xr-x
📄
grpc_gcp.proto
2.6 KB
08/12/2024 10:33:15 AM
rw-r--r--
Editing: GCPCallInvoker.php
Close
<?php /* * * Copyright 2018 gRPC authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ namespace Grpc\Gcp; /** * GCPCallInvoker updates the channel pool(GcpExtensionChannel) for * each RPC. The idea is: * Before the RPC starts, pick a channel from the channel pool: * - if the RPC is bound to a channel, use that channel. * - if the RPC doesn't bound to a channel, use the one with minimum active streams. * After the RPC finishes, update the active stream ref count. * - if the RPC is defined as bind, bind the channel with corresponding key like * spanner session name. * - if the RPC is defined as unbind, unbind the channel with the key. */ class GCPCallInvoker implements \Grpc\CallInvoker { private $channel; private $affinity_conf; /** * @param array $affinity_conf Store the affinity config for process each RPC. */ public function __construct($affinity_conf) { $this->affinity_conf = $affinity_conf; } /** * @param string $hostname * @param array $opts * @return GcpExtensionChannel */ public function createChannelFactory($hostname, $opts) { if ($this->channel) { // $call_invoker object has already created from previews PHP-FPM scripts. // Only need to update the $opts including the credentials. $this->channel->updateOpts($opts); } else { $opts['affinity_conf'] = $this->affinity_conf; $channel = new GcpExtensionChannel($hostname, $opts); $this->channel = $channel; } return $this->channel; } // _getChannel is used for testing only. public function GetChannel() { return $this->channel; } public function UnaryCall($channel, $method, $deserialize, $options) { return new GCPUnaryCall($channel, $method, $deserialize, $options); } public function ClientStreamingCall($channel, $method, $deserialize, $options) { return new GCPClientStreamCall($channel, $method, $deserialize, $options); } public function ServerStreamingCall($channel, $method, $deserialize, $options) { return new GCPServerStreamCall($channel, $method, $deserialize, $options); } public function BidiStreamingCall($channel, $method, $deserialize, $options) { return new GCPBidiStreamingCall($channel, $method, $deserialize, $options); } }