Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
cesa.co.za /
vendor /
google /
grpc-gcp /
src /
Delete
Unzip
Name
Size
Permission
Date
Action
generated
[ DIR ]
drwxr-sr-x
2026-03-12 22:56
ChannelRef.php
3.17
KB
-rw-r--r--
2026-03-12 22:56
Config.php
4.23
KB
-rw-r--r--
2026-03-12 22:56
CreatedByDeserializeCheck.php
1.86
KB
-rw-r--r--
2026-03-12 22:56
GCPBidiStreamingCall.php
3.11
KB
-rw-r--r--
2026-03-12 22:56
GCPCallInvoker.php
2.89
KB
-rw-r--r--
2026-03-12 22:56
GCPClientStreamCall.php
2.38
KB
-rw-r--r--
2026-03-12 22:56
GCPServerStreamCall.php
2.72
KB
-rw-r--r--
2026-03-12 22:56
GCPUnaryCall.php
2.13
KB
-rw-r--r--
2026-03-12 22:56
GcpBaseCall.php
6.61
KB
-rw-r--r--
2026-03-12 22:56
GcpExtensionChannel.php
10.04
KB
-rw-r--r--
2026-03-12 22:56
grpc_gcp.proto
2.53
KB
-rw-r--r--
2026-03-12 22:56
Save
Rename
<?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; /** * ChannelRef is used to record how many active streams the channel has. * This is a private class */ class ChannelRef { // $opts has all information except Credentials for creating a Grpc\Channel. private $opts; private $channel_id; private $affinity_ref; private $active_stream_ref; private $target; private $has_deserialized; private $real_channel; public function __construct($target, $channel_id, $opts, $affinity_ref=0, $active_stream_ref=0) { $this->target = $target; $this->channel_id = $channel_id; $this->affinity_ref = $affinity_ref; $this->active_stream_ref = $active_stream_ref; $this->opts = $opts; $this->has_deserialized = new CreatedByDeserializeCheck(); } public function getRealChannel($credentials) { // TODO(ddyihai): remove this check once the serialize handler for // \Grpc\Channel is implemented(issue https://github.com/grpc/grpc/issues/15870). if (!$this->has_deserialized->getData()) { // $real_channel exists and is not created by the deserialization. return $this->real_channel; } // If this ChannelRef is created by deserialization, $real_channel is invalid // thus needs to be recreated becasue Grpc\Channel don't have serialize and // deserialize handler. // Since [target + augments + credentials] will be the same during the recreation, // it will reuse the underline grpc channel in C extension without creating a // new connection. // 'credentials' in the array $opts will be unset during creating the channel. if (!array_key_exists('credentials', $this->opts)) { $this->opts['credentials'] = $credentials; } $real_channel = new \Grpc\Channel($this->target, $this->opts); $this->real_channel = $real_channel; // Set deserialization to false so it won't be recreated within the same script. $this->has_deserialized->setData(0); return $real_channel; } public function getAffinityRef() { return $this->affinity_ref; } public function getActiveStreamRef() { return $this->active_stream_ref; } public function affinityRefIncr() { $this->affinity_ref += 1; } public function affinityRefDecr() { $this->affinity_ref -= 1; } public function activeStreamRefIncr() { $this->active_stream_ref += 1; } public function activeStreamRefDecr() { $this->active_stream_ref -= 1; } }