commit
89fd647237
206 changed files with 5402 additions and 1140 deletions
Binary file not shown.
@ -0,0 +1,50 @@ |
||||
<?php |
||||
// GENERATED CODE -- DO NOT EDIT! |
||||
|
||||
// Original file comments: |
||||
// Copyright 2015 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 Helloworld; |
||||
|
||||
/** |
||||
* The greeting service definition. |
||||
*/ |
||||
class GreeterClient extends \Grpc\BaseStub { |
||||
|
||||
/** |
||||
* @param string $hostname hostname |
||||
* @param array $opts channel options |
||||
* @param \Grpc\Channel $channel (optional) re-use channel object |
||||
*/ |
||||
public function __construct($hostname, $opts, $channel = null) { |
||||
parent::__construct($hostname, $opts, $channel); |
||||
} |
||||
|
||||
/** |
||||
* Sends a greeting |
||||
* @param \Helloworld\HelloRequest $argument input argument |
||||
* @param array $metadata metadata |
||||
* @param array $options call options |
||||
* @return \Grpc\UnaryCall |
||||
*/ |
||||
public function SayHello(\Helloworld\HelloRequest $argument, |
||||
$metadata = [], $options = []) { |
||||
return $this->_simpleRequest('/helloworld.Greeter/SayHello', |
||||
$argument, |
||||
['\Helloworld\HelloReply', 'decode'], |
||||
$metadata, $options); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,58 @@ |
||||
<?php |
||||
// GENERATED CODE -- DO NOT EDIT! |
||||
|
||||
// Original file comments: |
||||
// Copyright 2015 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 Helloworld; |
||||
|
||||
/** |
||||
* The greeting service definition. |
||||
*/ |
||||
class GreeterStub { |
||||
|
||||
/** |
||||
* Sends a greeting |
||||
* @param \Helloworld\HelloRequest $request client request |
||||
* @param \Grpc\ServerContext $context server request context |
||||
* @return \Helloworld\HelloReply for response data, null if if error occured |
||||
* initial metadata (if any) and status (if not ok) should be set to $context |
||||
*/ |
||||
public function SayHello( |
||||
\Helloworld\HelloRequest $request, |
||||
\Grpc\ServerContext $context |
||||
): ?\Helloworld\HelloReply { |
||||
$context->setStatus(\Grpc\Status::unimplemented()); |
||||
return null; |
||||
} |
||||
|
||||
/** |
||||
* Get the method descriptors of the service for server registration |
||||
* |
||||
* @return array of \Grpc\MethodDescriptor for the service methods |
||||
*/ |
||||
public final function getMethodDescriptors(): array |
||||
{ |
||||
return [ |
||||
'/helloworld.Greeter/SayHello' => new \Grpc\MethodDescriptor( |
||||
$this, |
||||
'SayHello', |
||||
'\Helloworld\HelloRequest', |
||||
\Grpc\MethodDescriptor::UNARY_CALL |
||||
), |
||||
]; |
||||
} |
||||
|
||||
} |
@ -0,0 +1,60 @@ |
||||
<?php |
||||
# Generated by the protocol buffer compiler. DO NOT EDIT! |
||||
# source: helloworld.proto |
||||
|
||||
namespace Helloworld; |
||||
|
||||
use Google\Protobuf\Internal\GPBType; |
||||
use Google\Protobuf\Internal\RepeatedField; |
||||
use Google\Protobuf\Internal\GPBUtil; |
||||
|
||||
/** |
||||
* The response message containing the greetings |
||||
* |
||||
* Generated from protobuf message <code>helloworld.HelloReply</code> |
||||
*/ |
||||
class HelloReply extends \Google\Protobuf\Internal\Message |
||||
{ |
||||
/** |
||||
* Generated from protobuf field <code>string message = 1;</code> |
||||
*/ |
||||
protected $message = ''; |
||||
|
||||
/** |
||||
* Constructor. |
||||
* |
||||
* @param array $data { |
||||
* Optional. Data for populating the Message object. |
||||
* |
||||
* @type string $message |
||||
* } |
||||
*/ |
||||
public function __construct($data = NULL) { |
||||
\GPBMetadata\Helloworld::initOnce(); |
||||
parent::__construct($data); |
||||
} |
||||
|
||||
/** |
||||
* Generated from protobuf field <code>string message = 1;</code> |
||||
* @return string |
||||
*/ |
||||
public function getMessage() |
||||
{ |
||||
return $this->message; |
||||
} |
||||
|
||||
/** |
||||
* Generated from protobuf field <code>string message = 1;</code> |
||||
* @param string $var |
||||
* @return $this |
||||
*/ |
||||
public function setMessage($var) |
||||
{ |
||||
GPBUtil::checkString($var, True); |
||||
$this->message = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
} |
||||
|
@ -0,0 +1,60 @@ |
||||
<?php |
||||
# Generated by the protocol buffer compiler. DO NOT EDIT! |
||||
# source: helloworld.proto |
||||
|
||||
namespace Helloworld; |
||||
|
||||
use Google\Protobuf\Internal\GPBType; |
||||
use Google\Protobuf\Internal\RepeatedField; |
||||
use Google\Protobuf\Internal\GPBUtil; |
||||
|
||||
/** |
||||
* The request message containing the user's name. |
||||
* |
||||
* Generated from protobuf message <code>helloworld.HelloRequest</code> |
||||
*/ |
||||
class HelloRequest extends \Google\Protobuf\Internal\Message |
||||
{ |
||||
/** |
||||
* Generated from protobuf field <code>string name = 1;</code> |
||||
*/ |
||||
protected $name = ''; |
||||
|
||||
/** |
||||
* Constructor. |
||||
* |
||||
* @param array $data { |
||||
* Optional. Data for populating the Message object. |
||||
* |
||||
* @type string $name |
||||
* } |
||||
*/ |
||||
public function __construct($data = NULL) { |
||||
\GPBMetadata\Helloworld::initOnce(); |
||||
parent::__construct($data); |
||||
} |
||||
|
||||
/** |
||||
* Generated from protobuf field <code>string name = 1;</code> |
||||
* @return string |
||||
*/ |
||||
public function getName() |
||||
{ |
||||
return $this->name; |
||||
} |
||||
|
||||
/** |
||||
* Generated from protobuf field <code>string name = 1;</code> |
||||
* @param string $var |
||||
* @return $this |
||||
*/ |
||||
public function setName($var) |
||||
{ |
||||
GPBUtil::checkString($var, True); |
||||
$this->name = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
} |
||||
|
@ -0,0 +1,47 @@ |
||||
<?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. |
||||
* |
||||
*/ |
||||
|
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/MethodDescriptor.php'; |
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/Status.php'; |
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/ServerCallReader.php'; |
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/ServerCallWriter.php'; |
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/ServerContext.php'; |
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/RpcServer.php'; |
||||
require dirname(__FILE__) . '/vendor/autoload.php'; |
||||
require dirname(__FILE__) . '/route_guide/RouteGuideService.php'; |
||||
|
||||
class Greeter extends \Helloworld\GreeterStub |
||||
{ |
||||
public function SayHello( |
||||
\Helloworld\HelloRequest $request, |
||||
\Grpc\ServerContext $serverContext |
||||
): ?\Helloworld\HelloReply { |
||||
$name = $request->getName(); |
||||
$response = new \Helloworld\HelloReply(); |
||||
$response->setMessage("Hello " . $name); |
||||
return $response; |
||||
} |
||||
} |
||||
|
||||
|
||||
$server = new \Grpc\RpcServer(); |
||||
$server->addHttp2Port('0.0.0.0:50051'); |
||||
$server->handle(new RouteGuideService(null)); |
||||
$server->handle(new Greeter()); |
||||
$server->run(); |
@ -0,0 +1,44 @@ |
||||
<?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. |
||||
* |
||||
*/ |
||||
|
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/MethodDescriptor.php'; |
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/Status.php'; |
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/ServerCallReader.php'; |
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/ServerCallWriter.php'; |
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/ServerContext.php'; |
||||
require dirname(__FILE__) . '/../../src/php/lib/Grpc/RpcServer.php'; |
||||
require dirname(__FILE__) . '/vendor/autoload.php'; |
||||
|
||||
class Greeter extends Helloworld\GreeterStub |
||||
{ |
||||
public function SayHello( |
||||
\Helloworld\HelloRequest $request, |
||||
\Grpc\ServerContext $serverContext |
||||
): ?\Helloworld\HelloReply { |
||||
$name = $request->getName(); |
||||
$response = new \Helloworld\HelloReply(); |
||||
$response->setMessage("Hello " . $name); |
||||
return $response; |
||||
} |
||||
} |
||||
|
||||
$server = new \Grpc\RpcServer(); |
||||
$server->addHttp2Port('0.0.0.0:50051'); |
||||
$server->handle(new Greeter()); |
||||
$server->run(); |
Binary file not shown.
@ -0,0 +1,182 @@ |
||||
<?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. |
||||
* |
||||
*/ |
||||
|
||||
|
||||
class RouteGuideService extends \Routeguide\RouteGuideStub |
||||
{ |
||||
public function __construct($dbFilePath) |
||||
{ |
||||
$dbFilePath = $dbFilePath ?? dirname(__FILE__) . '/route_guide_db.json'; |
||||
$dbData = file_get_contents($dbFilePath); |
||||
if (!$dbData) { |
||||
throw new InvalidArgumentException( |
||||
"Error reading route db file: " . $dbFilePath |
||||
); |
||||
} |
||||
$featureList = json_decode($dbData); |
||||
if (!$featureList) { |
||||
throw new InvalidArgumentException( |
||||
"Error decoding route db file: " . $dbFilePath |
||||
); |
||||
} |
||||
foreach ($featureList as $feature) { |
||||
array_push($this->featureList, new Routeguide\Feature([ |
||||
'name' => $feature->name, |
||||
'location' => new Routeguide\Point([ |
||||
'latitude' => $feature->location->latitude, |
||||
'longitude' => $feature->location->longitude, |
||||
]), |
||||
])); |
||||
} |
||||
} |
||||
|
||||
private function findFeature(\Routeguide\Point $point) |
||||
{ |
||||
foreach ($this->featureList as $feature) { |
||||
$location = $feature->getLocation(); |
||||
if ( |
||||
$location->getLatitude() === $point->getLatitude() |
||||
&& $location->getLongitude() === $point->getLongitude() |
||||
) { |
||||
return $feature; |
||||
} |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
// The formula is based on http://mathforum.org/library/drmath/view/51879.html |
||||
private function calculateDistance( |
||||
\Routeguide\Point $start, |
||||
\Routeguide\Point $end |
||||
) { |
||||
$toRadians = function (float $num) { |
||||
return $num * 3.1415926 / 180; |
||||
}; |
||||
$coordFactor = 10000000.0; |
||||
$R = 6371000; // metres |
||||
|
||||
$lat_1 = $start->getLatitude() / $coordFactor; |
||||
$lat_2 = $end->getLatitude() / $coordFactor; |
||||
$lon_1 = $start->getLongitude() / $coordFactor; |
||||
$lon_2 = $end->getLongitude() / $coordFactor; |
||||
$lat_rad_1 = $toRadians($lat_1); |
||||
$lat_rad_2 = $toRadians($lat_2); |
||||
$delta_lat_rad = $toRadians($lat_2 - $lat_1); |
||||
$delta_lon_rad = $toRadians($lon_2 - $lon_1); |
||||
|
||||
$a = pow(sin($delta_lat_rad / 2), 2) + |
||||
cos($lat_rad_1) * cos($lat_rad_2) * pow(sin($delta_lon_rad / 2), 2); |
||||
$c = 2 * atan2(sqrt($a), sqrt(1 - $a)); |
||||
|
||||
return $R * $c; |
||||
} |
||||
|
||||
public function GetFeature( |
||||
\Routeguide\Point $request, |
||||
\Grpc\ServerContext $serverContext |
||||
): ?\Routeguide\Feature { |
||||
$feature = $this->findFeature($request); |
||||
$notFoundFeature = new Routeguide\Feature([ |
||||
'name' => '', |
||||
'location' => $request, |
||||
]); |
||||
return $feature ?? $notFoundFeature; |
||||
} |
||||
|
||||
public function ListFeatures( |
||||
\Routeguide\Rectangle $request, |
||||
\Grpc\ServerCallWriter $writer, |
||||
\Grpc\ServerContext $serverContext |
||||
): void { |
||||
$lo = $request->getLo(); |
||||
$hi = $request->getHi(); |
||||
$left = min($lo->getLongitude(), $hi->getLongitude()); |
||||
$right = max($lo->getLongitude(), $hi->getLongitude()); |
||||
$top = max($lo->getLatitude(), $hi->getLatitude()); |
||||
$bottom = min($lo->getLatitude(), $hi->getLatitude()); |
||||
|
||||
foreach ($this->featureList as $feature) { |
||||
$longitude = $feature->getLocation()->getLongitude(); |
||||
$latitude = $feature->getLocation()->getLatitude(); |
||||
if ( |
||||
$longitude >= $left && $longitude <= $right |
||||
&& $latitude >= $bottom && $latitude <= $top |
||||
) { |
||||
$writer->write($feature); |
||||
} |
||||
} |
||||
|
||||
$writer->finish(); |
||||
} |
||||
|
||||
public function RecordRoute( |
||||
\Grpc\ServerCallReader $reader, |
||||
\Grpc\ServerContext $serverContext |
||||
): ?\Routeguide\RouteSummary { |
||||
$point_count = 0; |
||||
$feature_count = 0; |
||||
$distance = 0; |
||||
$previous = null; |
||||
|
||||
$start_time = time(); |
||||
while ($point = $reader->read()) { |
||||
$point_count++; |
||||
$feature = $this->findFeature($point); |
||||
if ($feature) { |
||||
$feature_count++; |
||||
if ($previous) { |
||||
$distance += $this->calculateDistance($previous, $point); |
||||
} |
||||
$previous = $point; |
||||
} |
||||
} |
||||
|
||||
$summary = new \Routeguide\RouteSummary(); |
||||
$summary->setPointCount($point_count); |
||||
$summary->setFeatureCount($feature_count); |
||||
$summary->setDistance($distance); |
||||
$summary->setElapsedTime(time() - $start_time); |
||||
|
||||
return $summary; |
||||
} |
||||
|
||||
public function RouteChat( |
||||
\Grpc\ServerCallReader $reader, |
||||
\Grpc\ServerCallWriter $writer, |
||||
\Grpc\ServerContext $serverContext |
||||
): void { |
||||
while ($note = $reader->read()) { |
||||
foreach ($this->received_notes as $n) { |
||||
if ( |
||||
$n->getLocation()->getLatitude() === |
||||
$note->getLocation()->getLatitude() |
||||
&& $n->getLocation()->getLongitude() === |
||||
$note->getLocation()->getLongitude() |
||||
) { |
||||
$writer->write($n); |
||||
} |
||||
} |
||||
array_push($this->received_notes, $note); |
||||
} |
||||
$writer->finish(); |
||||
} |
||||
|
||||
private $received_notes = []; |
||||
private $featureList = []; |
||||
} |
@ -0,0 +1,112 @@ |
||||
<?php |
||||
# Generated by the protocol buffer compiler. DO NOT EDIT! |
||||
# source: route_guide.proto |
||||
|
||||
namespace Routeguide; |
||||
|
||||
use Google\Protobuf\Internal\GPBType; |
||||
use Google\Protobuf\Internal\RepeatedField; |
||||
use Google\Protobuf\Internal\GPBUtil; |
||||
|
||||
/** |
||||
* A feature names something at a given point. |
||||
* If a feature could not be named, the name is empty. |
||||
* |
||||
* Generated from protobuf message <code>routeguide.Feature</code> |
||||
*/ |
||||
class Feature extends \Google\Protobuf\Internal\Message |
||||
{ |
||||
/** |
||||
* The name of the feature. |
||||
* |
||||
* Generated from protobuf field <code>string name = 1;</code> |
||||
*/ |
||||
protected $name = ''; |
||||
/** |
||||
* The point where the feature is detected. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point location = 2;</code> |
||||
*/ |
||||
protected $location = null; |
||||
|
||||
/** |
||||
* Constructor. |
||||
* |
||||
* @param array $data { |
||||
* Optional. Data for populating the Message object. |
||||
* |
||||
* @type string $name |
||||
* The name of the feature. |
||||
* @type \Routeguide\Point $location |
||||
* The point where the feature is detected. |
||||
* } |
||||
*/ |
||||
public function __construct($data = NULL) { |
||||
\GPBMetadata\RouteGuide::initOnce(); |
||||
parent::__construct($data); |
||||
} |
||||
|
||||
/** |
||||
* The name of the feature. |
||||
* |
||||
* Generated from protobuf field <code>string name = 1;</code> |
||||
* @return string |
||||
*/ |
||||
public function getName() |
||||
{ |
||||
return $this->name; |
||||
} |
||||
|
||||
/** |
||||
* The name of the feature. |
||||
* |
||||
* Generated from protobuf field <code>string name = 1;</code> |
||||
* @param string $var |
||||
* @return $this |
||||
*/ |
||||
public function setName($var) |
||||
{ |
||||
GPBUtil::checkString($var, True); |
||||
$this->name = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* The point where the feature is detected. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point location = 2;</code> |
||||
* @return \Routeguide\Point|null |
||||
*/ |
||||
public function getLocation() |
||||
{ |
||||
return isset($this->location) ? $this->location : null; |
||||
} |
||||
|
||||
public function hasLocation() |
||||
{ |
||||
return isset($this->location); |
||||
} |
||||
|
||||
public function clearLocation() |
||||
{ |
||||
unset($this->location); |
||||
} |
||||
|
||||
/** |
||||
* The point where the feature is detected. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point location = 2;</code> |
||||
* @param \Routeguide\Point $var |
||||
* @return $this |
||||
*/ |
||||
public function setLocation($var) |
||||
{ |
||||
GPBUtil::checkMessage($var, \Routeguide\Point::class); |
||||
$this->location = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
} |
||||
|
@ -0,0 +1,90 @@ |
||||
<?php |
||||
# Generated by the protocol buffer compiler. DO NOT EDIT! |
||||
# source: route_guide.proto |
||||
|
||||
namespace Routeguide; |
||||
|
||||
use Google\Protobuf\Internal\GPBType; |
||||
use Google\Protobuf\Internal\RepeatedField; |
||||
use Google\Protobuf\Internal\GPBUtil; |
||||
|
||||
/** |
||||
* Points are represented as latitude-longitude pairs in the E7 representation |
||||
* (degrees multiplied by 10**7 and rounded to the nearest integer). |
||||
* Latitudes should be in the range +/- 90 degrees and longitude should be in |
||||
* the range +/- 180 degrees (inclusive). |
||||
* |
||||
* Generated from protobuf message <code>routeguide.Point</code> |
||||
*/ |
||||
class Point extends \Google\Protobuf\Internal\Message |
||||
{ |
||||
/** |
||||
* Generated from protobuf field <code>int32 latitude = 1;</code> |
||||
*/ |
||||
protected $latitude = 0; |
||||
/** |
||||
* Generated from protobuf field <code>int32 longitude = 2;</code> |
||||
*/ |
||||
protected $longitude = 0; |
||||
|
||||
/** |
||||
* Constructor. |
||||
* |
||||
* @param array $data { |
||||
* Optional. Data for populating the Message object. |
||||
* |
||||
* @type int $latitude |
||||
* @type int $longitude |
||||
* } |
||||
*/ |
||||
public function __construct($data = NULL) { |
||||
\GPBMetadata\RouteGuide::initOnce(); |
||||
parent::__construct($data); |
||||
} |
||||
|
||||
/** |
||||
* Generated from protobuf field <code>int32 latitude = 1;</code> |
||||
* @return int |
||||
*/ |
||||
public function getLatitude() |
||||
{ |
||||
return $this->latitude; |
||||
} |
||||
|
||||
/** |
||||
* Generated from protobuf field <code>int32 latitude = 1;</code> |
||||
* @param int $var |
||||
* @return $this |
||||
*/ |
||||
public function setLatitude($var) |
||||
{ |
||||
GPBUtil::checkInt32($var); |
||||
$this->latitude = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* Generated from protobuf field <code>int32 longitude = 2;</code> |
||||
* @return int |
||||
*/ |
||||
public function getLongitude() |
||||
{ |
||||
return $this->longitude; |
||||
} |
||||
|
||||
/** |
||||
* Generated from protobuf field <code>int32 longitude = 2;</code> |
||||
* @param int $var |
||||
* @return $this |
||||
*/ |
||||
public function setLongitude($var) |
||||
{ |
||||
GPBUtil::checkInt32($var); |
||||
$this->longitude = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
} |
||||
|
@ -0,0 +1,122 @@ |
||||
<?php |
||||
# Generated by the protocol buffer compiler. DO NOT EDIT! |
||||
# source: route_guide.proto |
||||
|
||||
namespace Routeguide; |
||||
|
||||
use Google\Protobuf\Internal\GPBType; |
||||
use Google\Protobuf\Internal\RepeatedField; |
||||
use Google\Protobuf\Internal\GPBUtil; |
||||
|
||||
/** |
||||
* A latitude-longitude rectangle, represented as two diagonally opposite |
||||
* points "lo" and "hi". |
||||
* |
||||
* Generated from protobuf message <code>routeguide.Rectangle</code> |
||||
*/ |
||||
class Rectangle extends \Google\Protobuf\Internal\Message |
||||
{ |
||||
/** |
||||
* One corner of the rectangle. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point lo = 1;</code> |
||||
*/ |
||||
protected $lo = null; |
||||
/** |
||||
* The other corner of the rectangle. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point hi = 2;</code> |
||||
*/ |
||||
protected $hi = null; |
||||
|
||||
/** |
||||
* Constructor. |
||||
* |
||||
* @param array $data { |
||||
* Optional. Data for populating the Message object. |
||||
* |
||||
* @type \Routeguide\Point $lo |
||||
* One corner of the rectangle. |
||||
* @type \Routeguide\Point $hi |
||||
* The other corner of the rectangle. |
||||
* } |
||||
*/ |
||||
public function __construct($data = NULL) { |
||||
\GPBMetadata\RouteGuide::initOnce(); |
||||
parent::__construct($data); |
||||
} |
||||
|
||||
/** |
||||
* One corner of the rectangle. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point lo = 1;</code> |
||||
* @return \Routeguide\Point|null |
||||
*/ |
||||
public function getLo() |
||||
{ |
||||
return isset($this->lo) ? $this->lo : null; |
||||
} |
||||
|
||||
public function hasLo() |
||||
{ |
||||
return isset($this->lo); |
||||
} |
||||
|
||||
public function clearLo() |
||||
{ |
||||
unset($this->lo); |
||||
} |
||||
|
||||
/** |
||||
* One corner of the rectangle. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point lo = 1;</code> |
||||
* @param \Routeguide\Point $var |
||||
* @return $this |
||||
*/ |
||||
public function setLo($var) |
||||
{ |
||||
GPBUtil::checkMessage($var, \Routeguide\Point::class); |
||||
$this->lo = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* The other corner of the rectangle. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point hi = 2;</code> |
||||
* @return \Routeguide\Point|null |
||||
*/ |
||||
public function getHi() |
||||
{ |
||||
return isset($this->hi) ? $this->hi : null; |
||||
} |
||||
|
||||
public function hasHi() |
||||
{ |
||||
return isset($this->hi); |
||||
} |
||||
|
||||
public function clearHi() |
||||
{ |
||||
unset($this->hi); |
||||
} |
||||
|
||||
/** |
||||
* The other corner of the rectangle. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point hi = 2;</code> |
||||
* @param \Routeguide\Point $var |
||||
* @return $this |
||||
*/ |
||||
public function setHi($var) |
||||
{ |
||||
GPBUtil::checkMessage($var, \Routeguide\Point::class); |
||||
$this->hi = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
} |
||||
|
@ -0,0 +1,105 @@ |
||||
<?php |
||||
// GENERATED CODE -- DO NOT EDIT! |
||||
|
||||
// Original file comments: |
||||
// Copyright 2015 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 Routeguide; |
||||
|
||||
/** |
||||
* Interface exported by the server. |
||||
*/ |
||||
class RouteGuideClient extends \Grpc\BaseStub { |
||||
|
||||
/** |
||||
* @param string $hostname hostname |
||||
* @param array $opts channel options |
||||
* @param \Grpc\Channel $channel (optional) re-use channel object |
||||
*/ |
||||
public function __construct($hostname, $opts, $channel = null) { |
||||
parent::__construct($hostname, $opts, $channel); |
||||
} |
||||
|
||||
/** |
||||
* A simple RPC. |
||||
* |
||||
* Obtains the feature at a given position. |
||||
* |
||||
* A feature with an empty name is returned if there's no feature at the given |
||||
* position. |
||||
* @param \Routeguide\Point $argument input argument |
||||
* @param array $metadata metadata |
||||
* @param array $options call options |
||||
* @return \Grpc\UnaryCall |
||||
*/ |
||||
public function GetFeature(\Routeguide\Point $argument, |
||||
$metadata = [], $options = []) { |
||||
return $this->_simpleRequest('/routeguide.RouteGuide/GetFeature', |
||||
$argument, |
||||
['\Routeguide\Feature', 'decode'], |
||||
$metadata, $options); |
||||
} |
||||
|
||||
/** |
||||
* A server-to-client streaming RPC. |
||||
* |
||||
* Obtains the Features available within the given Rectangle. Results are |
||||
* streamed rather than returned at once (e.g. in a response message with a |
||||
* repeated field), as the rectangle may cover a large area and contain a |
||||
* huge number of features. |
||||
* @param \Routeguide\Rectangle $argument input argument |
||||
* @param array $metadata metadata |
||||
* @param array $options call options |
||||
* @return \Grpc\ServerStreamingCall |
||||
*/ |
||||
public function ListFeatures(\Routeguide\Rectangle $argument, |
||||
$metadata = [], $options = []) { |
||||
return $this->_serverStreamRequest('/routeguide.RouteGuide/ListFeatures', |
||||
$argument, |
||||
['\Routeguide\Feature', 'decode'], |
||||
$metadata, $options); |
||||
} |
||||
|
||||
/** |
||||
* A client-to-server streaming RPC. |
||||
* |
||||
* Accepts a stream of Points on a route being traversed, returning a |
||||
* RouteSummary when traversal is completed. |
||||
* @param array $metadata metadata |
||||
* @param array $options call options |
||||
* @return \Grpc\ClientStreamingCall |
||||
*/ |
||||
public function RecordRoute($metadata = [], $options = []) { |
||||
return $this->_clientStreamRequest('/routeguide.RouteGuide/RecordRoute', |
||||
['\Routeguide\RouteSummary','decode'], |
||||
$metadata, $options); |
||||
} |
||||
|
||||
/** |
||||
* A Bidirectional streaming RPC. |
||||
* |
||||
* Accepts a stream of RouteNotes sent while a route is being traversed, |
||||
* while receiving other RouteNotes (e.g. from other users). |
||||
* @param array $metadata metadata |
||||
* @param array $options call options |
||||
* @return \Grpc\BidiStreamingCall |
||||
*/ |
||||
public function RouteChat($metadata = [], $options = []) { |
||||
return $this->_bidiRequest('/routeguide.RouteGuide/RouteChat', |
||||
['\Routeguide\RouteNote','decode'], |
||||
$metadata, $options); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,139 @@ |
||||
<?php |
||||
// GENERATED CODE -- DO NOT EDIT! |
||||
|
||||
// Original file comments: |
||||
// Copyright 2015 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 Routeguide; |
||||
|
||||
/** |
||||
* Interface exported by the server. |
||||
*/ |
||||
class RouteGuideStub { |
||||
|
||||
/** |
||||
* A simple RPC. |
||||
* |
||||
* Obtains the feature at a given position. |
||||
* |
||||
* A feature with an empty name is returned if there's no feature at the given |
||||
* position. |
||||
* @param \Routeguide\Point $request client request |
||||
* @param \Grpc\ServerContext $context server request context |
||||
* @return \Routeguide\Feature for response data, null if if error occured |
||||
* initial metadata (if any) and status (if not ok) should be set to $context |
||||
*/ |
||||
public function GetFeature( |
||||
\Routeguide\Point $request, |
||||
\Grpc\ServerContext $context |
||||
): ?\Routeguide\Feature { |
||||
$context->setStatus(\Grpc\Status::unimplemented()); |
||||
return null; |
||||
} |
||||
|
||||
/** |
||||
* A server-to-client streaming RPC. |
||||
* |
||||
* Obtains the Features available within the given Rectangle. Results are |
||||
* streamed rather than returned at once (e.g. in a response message with a |
||||
* repeated field), as the rectangle may cover a large area and contain a |
||||
* huge number of features. |
||||
* @param \Routeguide\Rectangle $request client request |
||||
* @param \Grpc\ServerCallWriter $writer write response data of \Routeguide\Feature |
||||
* @param \Grpc\ServerContext $context server request context |
||||
* @return void |
||||
*/ |
||||
public function ListFeatures( |
||||
\Routeguide\Rectangle $request, |
||||
\Grpc\ServerCallWriter $writer, |
||||
\Grpc\ServerContext $context |
||||
): void { |
||||
$context->setStatus(\Grpc\Status::unimplemented()); |
||||
$writer->finish(); |
||||
} |
||||
|
||||
/** |
||||
* A client-to-server streaming RPC. |
||||
* |
||||
* Accepts a stream of Points on a route being traversed, returning a |
||||
* RouteSummary when traversal is completed. |
||||
* @param \Grpc\ServerCallReader $reader read client request data of \Routeguide\Point |
||||
* @param \Grpc\ServerContext $context server request context |
||||
* @return \Routeguide\RouteSummary for response data, null if if error occured |
||||
* initial metadata (if any) and status (if not ok) should be set to $context |
||||
*/ |
||||
public function RecordRoute( |
||||
\Grpc\ServerCallReader $reader, |
||||
\Grpc\ServerContext $context |
||||
): ?\Routeguide\RouteSummary { |
||||
$context->setStatus(\Grpc\Status::unimplemented()); |
||||
return null; |
||||
} |
||||
|
||||
/** |
||||
* A Bidirectional streaming RPC. |
||||
* |
||||
* Accepts a stream of RouteNotes sent while a route is being traversed, |
||||
* while receiving other RouteNotes (e.g. from other users). |
||||
* @param \Grpc\ServerCallReader $reader read client request data of \Routeguide\RouteNote |
||||
* @param \Grpc\ServerCallWriter $writer write response data of \Routeguide\RouteNote |
||||
* @param \Grpc\ServerContext $context server request context |
||||
* @return void |
||||
*/ |
||||
public function RouteChat( |
||||
\Grpc\ServerCallReader $reader, |
||||
\Grpc\ServerCallWriter $writer, |
||||
\Grpc\ServerContext $context |
||||
): void { |
||||
$context->setStatus(\Grpc\Status::unimplemented()); |
||||
$writer->finish(); |
||||
} |
||||
|
||||
/** |
||||
* Get the method descriptors of the service for server registration |
||||
* |
||||
* @return array of \Grpc\MethodDescriptor for the service methods |
||||
*/ |
||||
public final function getMethodDescriptors(): array |
||||
{ |
||||
return [ |
||||
'/routeguide.RouteGuide/GetFeature' => new \Grpc\MethodDescriptor( |
||||
$this, |
||||
'GetFeature', |
||||
'\Routeguide\Point', |
||||
\Grpc\MethodDescriptor::UNARY_CALL |
||||
), |
||||
'/routeguide.RouteGuide/ListFeatures' => new \Grpc\MethodDescriptor( |
||||
$this, |
||||
'ListFeatures', |
||||
'\Routeguide\Rectangle', |
||||
\Grpc\MethodDescriptor::SERVER_STREAMING_CALL |
||||
), |
||||
'/routeguide.RouteGuide/RecordRoute' => new \Grpc\MethodDescriptor( |
||||
$this, |
||||
'RecordRoute', |
||||
'\Routeguide\Point', |
||||
\Grpc\MethodDescriptor::CLIENT_STREAMING_CALL |
||||
), |
||||
'/routeguide.RouteGuide/RouteChat' => new \Grpc\MethodDescriptor( |
||||
$this, |
||||
'RouteChat', |
||||
'\Routeguide\RouteNote', |
||||
\Grpc\MethodDescriptor::BIDI_STREAMING_CALL |
||||
), |
||||
]; |
||||
} |
||||
|
||||
} |
@ -0,0 +1,111 @@ |
||||
<?php |
||||
# Generated by the protocol buffer compiler. DO NOT EDIT! |
||||
# source: route_guide.proto |
||||
|
||||
namespace Routeguide; |
||||
|
||||
use Google\Protobuf\Internal\GPBType; |
||||
use Google\Protobuf\Internal\RepeatedField; |
||||
use Google\Protobuf\Internal\GPBUtil; |
||||
|
||||
/** |
||||
* A RouteNote is a message sent while at a given point. |
||||
* |
||||
* Generated from protobuf message <code>routeguide.RouteNote</code> |
||||
*/ |
||||
class RouteNote extends \Google\Protobuf\Internal\Message |
||||
{ |
||||
/** |
||||
* The location from which the message is sent. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point location = 1;</code> |
||||
*/ |
||||
protected $location = null; |
||||
/** |
||||
* The message to be sent. |
||||
* |
||||
* Generated from protobuf field <code>string message = 2;</code> |
||||
*/ |
||||
protected $message = ''; |
||||
|
||||
/** |
||||
* Constructor. |
||||
* |
||||
* @param array $data { |
||||
* Optional. Data for populating the Message object. |
||||
* |
||||
* @type \Routeguide\Point $location |
||||
* The location from which the message is sent. |
||||
* @type string $message |
||||
* The message to be sent. |
||||
* } |
||||
*/ |
||||
public function __construct($data = NULL) { |
||||
\GPBMetadata\RouteGuide::initOnce(); |
||||
parent::__construct($data); |
||||
} |
||||
|
||||
/** |
||||
* The location from which the message is sent. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point location = 1;</code> |
||||
* @return \Routeguide\Point|null |
||||
*/ |
||||
public function getLocation() |
||||
{ |
||||
return isset($this->location) ? $this->location : null; |
||||
} |
||||
|
||||
public function hasLocation() |
||||
{ |
||||
return isset($this->location); |
||||
} |
||||
|
||||
public function clearLocation() |
||||
{ |
||||
unset($this->location); |
||||
} |
||||
|
||||
/** |
||||
* The location from which the message is sent. |
||||
* |
||||
* Generated from protobuf field <code>.routeguide.Point location = 1;</code> |
||||
* @param \Routeguide\Point $var |
||||
* @return $this |
||||
*/ |
||||
public function setLocation($var) |
||||
{ |
||||
GPBUtil::checkMessage($var, \Routeguide\Point::class); |
||||
$this->location = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* The message to be sent. |
||||
* |
||||
* Generated from protobuf field <code>string message = 2;</code> |
||||
* @return string |
||||
*/ |
||||
public function getMessage() |
||||
{ |
||||
return $this->message; |
||||
} |
||||
|
||||
/** |
||||
* The message to be sent. |
||||
* |
||||
* Generated from protobuf field <code>string message = 2;</code> |
||||
* @param string $var |
||||
* @return $this |
||||
*/ |
||||
public function setMessage($var) |
||||
{ |
||||
GPBUtil::checkString($var, True); |
||||
$this->message = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
} |
||||
|
@ -0,0 +1,172 @@ |
||||
<?php |
||||
# Generated by the protocol buffer compiler. DO NOT EDIT! |
||||
# source: route_guide.proto |
||||
|
||||
namespace Routeguide; |
||||
|
||||
use Google\Protobuf\Internal\GPBType; |
||||
use Google\Protobuf\Internal\RepeatedField; |
||||
use Google\Protobuf\Internal\GPBUtil; |
||||
|
||||
/** |
||||
* A RouteSummary is received in response to a RecordRoute rpc. |
||||
* It contains the number of individual points received, the number of |
||||
* detected features, and the total distance covered as the cumulative sum of |
||||
* the distance between each point. |
||||
* |
||||
* Generated from protobuf message <code>routeguide.RouteSummary</code> |
||||
*/ |
||||
class RouteSummary extends \Google\Protobuf\Internal\Message |
||||
{ |
||||
/** |
||||
* The number of points received. |
||||
* |
||||
* Generated from protobuf field <code>int32 point_count = 1;</code> |
||||
*/ |
||||
protected $point_count = 0; |
||||
/** |
||||
* The number of known features passed while traversing the route. |
||||
* |
||||
* Generated from protobuf field <code>int32 feature_count = 2;</code> |
||||
*/ |
||||
protected $feature_count = 0; |
||||
/** |
||||
* The distance covered in metres. |
||||
* |
||||
* Generated from protobuf field <code>int32 distance = 3;</code> |
||||
*/ |
||||
protected $distance = 0; |
||||
/** |
||||
* The duration of the traversal in seconds. |
||||
* |
||||
* Generated from protobuf field <code>int32 elapsed_time = 4;</code> |
||||
*/ |
||||
protected $elapsed_time = 0; |
||||
|
||||
/** |
||||
* Constructor. |
||||
* |
||||
* @param array $data { |
||||
* Optional. Data for populating the Message object. |
||||
* |
||||
* @type int $point_count |
||||
* The number of points received. |
||||
* @type int $feature_count |
||||
* The number of known features passed while traversing the route. |
||||
* @type int $distance |
||||
* The distance covered in metres. |
||||
* @type int $elapsed_time |
||||
* The duration of the traversal in seconds. |
||||
* } |
||||
*/ |
||||
public function __construct($data = NULL) { |
||||
\GPBMetadata\RouteGuide::initOnce(); |
||||
parent::__construct($data); |
||||
} |
||||
|
||||
/** |
||||
* The number of points received. |
||||
* |
||||
* Generated from protobuf field <code>int32 point_count = 1;</code> |
||||
* @return int |
||||
*/ |
||||
public function getPointCount() |
||||
{ |
||||
return $this->point_count; |
||||
} |
||||
|
||||
/** |
||||
* The number of points received. |
||||
* |
||||
* Generated from protobuf field <code>int32 point_count = 1;</code> |
||||
* @param int $var |
||||
* @return $this |
||||
*/ |
||||
public function setPointCount($var) |
||||
{ |
||||
GPBUtil::checkInt32($var); |
||||
$this->point_count = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* The number of known features passed while traversing the route. |
||||
* |
||||
* Generated from protobuf field <code>int32 feature_count = 2;</code> |
||||
* @return int |
||||
*/ |
||||
public function getFeatureCount() |
||||
{ |
||||
return $this->feature_count; |
||||
} |
||||
|
||||
/** |
||||
* The number of known features passed while traversing the route. |
||||
* |
||||
* Generated from protobuf field <code>int32 feature_count = 2;</code> |
||||
* @param int $var |
||||
* @return $this |
||||
*/ |
||||
public function setFeatureCount($var) |
||||
{ |
||||
GPBUtil::checkInt32($var); |
||||
$this->feature_count = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* The distance covered in metres. |
||||
* |
||||
* Generated from protobuf field <code>int32 distance = 3;</code> |
||||
* @return int |
||||
*/ |
||||
public function getDistance() |
||||
{ |
||||
return $this->distance; |
||||
} |
||||
|
||||
/** |
||||
* The distance covered in metres. |
||||
* |
||||
* Generated from protobuf field <code>int32 distance = 3;</code> |
||||
* @param int $var |
||||
* @return $this |
||||
*/ |
||||
public function setDistance($var) |
||||
{ |
||||
GPBUtil::checkInt32($var); |
||||
$this->distance = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* The duration of the traversal in seconds. |
||||
* |
||||
* Generated from protobuf field <code>int32 elapsed_time = 4;</code> |
||||
* @return int |
||||
*/ |
||||
public function getElapsedTime() |
||||
{ |
||||
return $this->elapsed_time; |
||||
} |
||||
|
||||
/** |
||||
* The duration of the traversal in seconds. |
||||
* |
||||
* Generated from protobuf field <code>int32 elapsed_time = 4;</code> |
||||
* @param int $var |
||||
* @return $this |
||||
*/ |
||||
public function setElapsedTime($var) |
||||
{ |
||||
GPBUtil::checkInt32($var); |
||||
$this->elapsed_time = $var; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
} |
||||
|
@ -0,0 +1,601 @@ |
||||
[{ |
||||
"location": { |
||||
"latitude": 407838351, |
||||
"longitude": -746143763 |
||||
}, |
||||
"name": "Patriots Path, Mendham, NJ 07945, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 408122808, |
||||
"longitude": -743999179 |
||||
}, |
||||
"name": "101 New Jersey 10, Whippany, NJ 07981, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 413628156, |
||||
"longitude": -749015468 |
||||
}, |
||||
"name": "U.S. 6, Shohola, PA 18458, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 419999544, |
||||
"longitude": -740371136 |
||||
}, |
||||
"name": "5 Conners Road, Kingston, NY 12401, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 414008389, |
||||
"longitude": -743951297 |
||||
}, |
||||
"name": "Mid Hudson Psychiatric Center, New Hampton, NY 10958, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 419611318, |
||||
"longitude": -746524769 |
||||
}, |
||||
"name": "287 Flugertown Road, Livingston Manor, NY 12758, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 406109563, |
||||
"longitude": -742186778 |
||||
}, |
||||
"name": "4001 Tremley Point Road, Linden, NJ 07036, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 416802456, |
||||
"longitude": -742370183 |
||||
}, |
||||
"name": "352 South Mountain Road, Wallkill, NY 12589, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 412950425, |
||||
"longitude": -741077389 |
||||
}, |
||||
"name": "Bailey Turn Road, Harriman, NY 10926, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 412144655, |
||||
"longitude": -743949739 |
||||
}, |
||||
"name": "193-199 Wawayanda Road, Hewitt, NJ 07421, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 415736605, |
||||
"longitude": -742847522 |
||||
}, |
||||
"name": "406-496 Ward Avenue, Pine Bush, NY 12566, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 413843930, |
||||
"longitude": -740501726 |
||||
}, |
||||
"name": "162 Merrill Road, Highland Mills, NY 10930, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 410873075, |
||||
"longitude": -744459023 |
||||
}, |
||||
"name": "Clinton Road, West Milford, NJ 07480, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 412346009, |
||||
"longitude": -744026814 |
||||
}, |
||||
"name": "16 Old Brook Lane, Warwick, NY 10990, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 402948455, |
||||
"longitude": -747903913 |
||||
}, |
||||
"name": "3 Drake Lane, Pennington, NJ 08534, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 406337092, |
||||
"longitude": -740122226 |
||||
}, |
||||
"name": "6324 8th Avenue, Brooklyn, NY 11220, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 406421967, |
||||
"longitude": -747727624 |
||||
}, |
||||
"name": "1 Merck Access Road, Whitehouse Station, NJ 08889, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 416318082, |
||||
"longitude": -749677716 |
||||
}, |
||||
"name": "78-98 Schalck Road, Narrowsburg, NY 12764, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 415301720, |
||||
"longitude": -748416257 |
||||
}, |
||||
"name": "282 Lakeview Drive Road, Highland Lake, NY 12743, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 402647019, |
||||
"longitude": -747071791 |
||||
}, |
||||
"name": "330 Evelyn Avenue, Hamilton Township, NJ 08619, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 412567807, |
||||
"longitude": -741058078 |
||||
}, |
||||
"name": "New York State Reference Route 987E, Southfields, NY 10975, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 416855156, |
||||
"longitude": -744420597 |
||||
}, |
||||
"name": "103-271 Tempaloni Road, Ellenville, NY 12428, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 404663628, |
||||
"longitude": -744820157 |
||||
}, |
||||
"name": "1300 Airport Road, North Brunswick Township, NJ 08902, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 407113723, |
||||
"longitude": -749746483 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 402133926, |
||||
"longitude": -743613249 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 400273442, |
||||
"longitude": -741220915 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 411236786, |
||||
"longitude": -744070769 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 411633782, |
||||
"longitude": -746784970 |
||||
}, |
||||
"name": "211-225 Plains Road, Augusta, NJ 07822, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 415830701, |
||||
"longitude": -742952812 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 413447164, |
||||
"longitude": -748712898 |
||||
}, |
||||
"name": "165 Pedersen Ridge Road, Milford, PA 18337, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 405047245, |
||||
"longitude": -749800722 |
||||
}, |
||||
"name": "100-122 Locktown Road, Frenchtown, NJ 08825, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 418858923, |
||||
"longitude": -746156790 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 417951888, |
||||
"longitude": -748484944 |
||||
}, |
||||
"name": "650-652 Willi Hill Road, Swan Lake, NY 12783, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 407033786, |
||||
"longitude": -743977337 |
||||
}, |
||||
"name": "26 East 3rd Street, New Providence, NJ 07974, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 417548014, |
||||
"longitude": -740075041 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 410395868, |
||||
"longitude": -744972325 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 404615353, |
||||
"longitude": -745129803 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 406589790, |
||||
"longitude": -743560121 |
||||
}, |
||||
"name": "611 Lawrence Avenue, Westfield, NJ 07090, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 414653148, |
||||
"longitude": -740477477 |
||||
}, |
||||
"name": "18 Lannis Avenue, New Windsor, NY 12553, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 405957808, |
||||
"longitude": -743255336 |
||||
}, |
||||
"name": "82-104 Amherst Avenue, Colonia, NJ 07067, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 411733589, |
||||
"longitude": -741648093 |
||||
}, |
||||
"name": "170 Seven Lakes Drive, Sloatsburg, NY 10974, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 412676291, |
||||
"longitude": -742606606 |
||||
}, |
||||
"name": "1270 Lakes Road, Monroe, NY 10950, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 409224445, |
||||
"longitude": -748286738 |
||||
}, |
||||
"name": "509-535 Alphano Road, Great Meadows, NJ 07838, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 406523420, |
||||
"longitude": -742135517 |
||||
}, |
||||
"name": "652 Garden Street, Elizabeth, NJ 07202, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 401827388, |
||||
"longitude": -740294537 |
||||
}, |
||||
"name": "349 Sea Spray Court, Neptune City, NJ 07753, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 410564152, |
||||
"longitude": -743685054 |
||||
}, |
||||
"name": "13-17 Stanley Street, West Milford, NJ 07480, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 408472324, |
||||
"longitude": -740726046 |
||||
}, |
||||
"name": "47 Industrial Avenue, Teterboro, NJ 07608, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 412452168, |
||||
"longitude": -740214052 |
||||
}, |
||||
"name": "5 White Oak Lane, Stony Point, NY 10980, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 409146138, |
||||
"longitude": -746188906 |
||||
}, |
||||
"name": "Berkshire Valley Management Area Trail, Jefferson, NJ, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 404701380, |
||||
"longitude": -744781745 |
||||
}, |
||||
"name": "1007 Jersey Avenue, New Brunswick, NJ 08901, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 409642566, |
||||
"longitude": -746017679 |
||||
}, |
||||
"name": "6 East Emerald Isle Drive, Lake Hopatcong, NJ 07849, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 408031728, |
||||
"longitude": -748645385 |
||||
}, |
||||
"name": "1358-1474 New Jersey 57, Port Murray, NJ 07865, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 413700272, |
||||
"longitude": -742135189 |
||||
}, |
||||
"name": "367 Prospect Road, Chester, NY 10918, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 404310607, |
||||
"longitude": -740282632 |
||||
}, |
||||
"name": "10 Simon Lake Drive, Atlantic Highlands, NJ 07716, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 409319800, |
||||
"longitude": -746201391 |
||||
}, |
||||
"name": "11 Ward Street, Mount Arlington, NJ 07856, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 406685311, |
||||
"longitude": -742108603 |
||||
}, |
||||
"name": "300-398 Jefferson Avenue, Elizabeth, NJ 07201, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 419018117, |
||||
"longitude": -749142781 |
||||
}, |
||||
"name": "43 Dreher Road, Roscoe, NY 12776, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 412856162, |
||||
"longitude": -745148837 |
||||
}, |
||||
"name": "Swan Street, Pine Island, NY 10969, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 416560744, |
||||
"longitude": -746721964 |
||||
}, |
||||
"name": "66 Pleasantview Avenue, Monticello, NY 12701, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 405314270, |
||||
"longitude": -749836354 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 414219548, |
||||
"longitude": -743327440 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 415534177, |
||||
"longitude": -742900616 |
||||
}, |
||||
"name": "565 Winding Hills Road, Montgomery, NY 12549, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 406898530, |
||||
"longitude": -749127080 |
||||
}, |
||||
"name": "231 Rocky Run Road, Glen Gardner, NJ 08826, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 407586880, |
||||
"longitude": -741670168 |
||||
}, |
||||
"name": "100 Mount Pleasant Avenue, Newark, NJ 07104, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 400106455, |
||||
"longitude": -742870190 |
||||
}, |
||||
"name": "517-521 Huntington Drive, Manchester Township, NJ 08759, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 400066188, |
||||
"longitude": -746793294 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 418803880, |
||||
"longitude": -744102673 |
||||
}, |
||||
"name": "40 Mountain Road, Napanoch, NY 12458, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 414204288, |
||||
"longitude": -747895140 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 414777405, |
||||
"longitude": -740615601 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 415464475, |
||||
"longitude": -747175374 |
||||
}, |
||||
"name": "48 North Road, Forestburgh, NY 12777, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 404062378, |
||||
"longitude": -746376177 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 405688272, |
||||
"longitude": -749285130 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 400342070, |
||||
"longitude": -748788996 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 401809022, |
||||
"longitude": -744157964 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 404226644, |
||||
"longitude": -740517141 |
||||
}, |
||||
"name": "9 Thompson Avenue, Leonardo, NJ 07737, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 410322033, |
||||
"longitude": -747871659 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 407100674, |
||||
"longitude": -747742727 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 418811433, |
||||
"longitude": -741718005 |
||||
}, |
||||
"name": "213 Bush Road, Stone Ridge, NY 12484, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 415034302, |
||||
"longitude": -743850945 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 411349992, |
||||
"longitude": -743694161 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 404839914, |
||||
"longitude": -744759616 |
||||
}, |
||||
"name": "1-17 Bergen Court, New Brunswick, NJ 08901, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 414638017, |
||||
"longitude": -745957854 |
||||
}, |
||||
"name": "35 Oakland Valley Road, Cuddebackville, NY 12729, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 412127800, |
||||
"longitude": -740173578 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 401263460, |
||||
"longitude": -747964303 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 412843391, |
||||
"longitude": -749086026 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 418512773, |
||||
"longitude": -743067823 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 404318328, |
||||
"longitude": -740835638 |
||||
}, |
||||
"name": "42-102 Main Street, Belford, NJ 07718, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 419020746, |
||||
"longitude": -741172328 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 404080723, |
||||
"longitude": -746119569 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 401012643, |
||||
"longitude": -744035134 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 404306372, |
||||
"longitude": -741079661 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 403966326, |
||||
"longitude": -748519297 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 405002031, |
||||
"longitude": -748407866 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 409532885, |
||||
"longitude": -742200683 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 416851321, |
||||
"longitude": -742674555 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 406411633, |
||||
"longitude": -741722051 |
||||
}, |
||||
"name": "3387 Richmond Terrace, Staten Island, NY 10303, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 413069058, |
||||
"longitude": -744597778 |
||||
}, |
||||
"name": "261 Van Sickle Road, Goshen, NY 10924, USA" |
||||
}, { |
||||
"location": { |
||||
"latitude": 418465462, |
||||
"longitude": -746859398 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 411733222, |
||||
"longitude": -744228360 |
||||
}, |
||||
"name": "" |
||||
}, { |
||||
"location": { |
||||
"latitude": 410248224, |
||||
"longitude": -747127767 |
||||
}, |
||||
"name": "3 Hasta Way, Newton, NJ 07860, USA" |
||||
}] |
@ -0,0 +1,34 @@ |
||||
<?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. |
||||
* |
||||
*/ |
||||
|
||||
require dirname(__FILE__) . '/../../../src/php/lib/Grpc/MethodDescriptor.php'; |
||||
require dirname(__FILE__) . '/../../../src/php/lib/Grpc/Status.php'; |
||||
require dirname(__FILE__) . '/../../../src/php/lib/Grpc/ServerCallReader.php'; |
||||
require dirname(__FILE__) . '/../../../src/php/lib/Grpc/ServerCallWriter.php'; |
||||
require dirname(__FILE__) . '/../../../src/php/lib/Grpc/ServerContext.php'; |
||||
require dirname(__FILE__) . '/../../../src/php/lib/Grpc/RpcServer.php'; |
||||
require dirname(__FILE__) . '/../vendor/autoload.php'; |
||||
require dirname(__FILE__) . '/RouteGuideService.php'; |
||||
|
||||
$routeDbFile = $argv[1]; |
||||
|
||||
$server = new \Grpc\RpcServer(); |
||||
$server->addHttp2Port('0.0.0.0:50051'); |
||||
$server->handle(new RouteGuideService($routeDbFile)); |
||||
$server->run(); |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue