PHP: php server commit 3/n, add ServerContext and MethodDescriptor (#25399)

* add ServerContext and MethodDescriptor

* re-run generate_projects.sh
pull/25184/head
Hannah Shi 4 years ago committed by GitHub
parent 44e5409a4e
commit d098697659
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 52
      src/php/lib/Grpc/MethodDescriptor.php
  2. 54
      src/php/lib/Grpc/ServerContext.php
  3. 2
      tools/doxygen/Doxyfile.php

@ -0,0 +1,52 @@
<?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 MethodDescriptor
{
public function __construct(
object $service,
string $method_name,
string $request_type,
int $call_type
) {
$this->service = $service;
$this->method_name = $method_name;
$this->request_type = $request_type;
$this->call_type = $call_type;
}
public const UNARY_CALL = 0;
public const SERVER_STREAMING_CALL = 1;
public const CLIENT_STREAMING_CALL = 2;
public const BIDI_STREAMING_CALL = 3;
public $service;
public $method_name;
public $request_type;
public $call_type;
}

@ -0,0 +1,54 @@
<?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 ServerContext
{
public function __construct($event)
{
$this->event = $event;
}
public function clientMetadata()
{
return $this->event->metadata;
}
public function deadline()
{
return $this->event->absolute_deadline;
}
public function host()
{
return $this->event->host;
}
public function method()
{
return $this->event->method;
}
private $event;
}

@ -812,10 +812,12 @@ src/php/lib/Grpc/ClientStreamingCall.php \
src/php/lib/Grpc/Constants.php \
src/php/lib/Grpc/DefaultCallInvoker.php \
src/php/lib/Grpc/Interceptor.php \
src/php/lib/Grpc/MethodDescriptor.php \
src/php/lib/Grpc/RpcServer.php \
src/php/lib/Grpc/Server.php \
src/php/lib/Grpc/ServerCallReader.php \
src/php/lib/Grpc/ServerCallWriter.php \
src/php/lib/Grpc/ServerContext.php \
src/php/lib/Grpc/ServerCredentials.php \
src/php/lib/Grpc/ServerStreamingCall.php \
src/php/lib/Grpc/Status.php \

Loading…
Cancel
Save