Moved gRPC node package root to repo root, made it depend on grpc.gyp
This commit is contained in:
Родитель
b3ca2ad3ad
Коммит
2af89e49cb
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
"variables" : {
|
||||
'config': '<!(echo $CONFIG)'
|
||||
},
|
||||
"targets" : [
|
||||
{
|
||||
'include_dirs': [
|
||||
"<!(node -e \"require('nan')\")"
|
||||
],
|
||||
'cflags': [
|
||||
'-std=c++0x',
|
||||
'-Wall',
|
||||
'-pthread',
|
||||
'-g',
|
||||
'-zdefs',
|
||||
'-Werror',
|
||||
'-Wno-error=deprecated-declarations'
|
||||
],
|
||||
'ldflags': [
|
||||
'-g'
|
||||
],
|
||||
"conditions": [
|
||||
['OS != "win"', {
|
||||
'conditions': [
|
||||
['config=="gcov"', {
|
||||
'cflags': [
|
||||
'-ftest-coverage',
|
||||
'-fprofile-arcs',
|
||||
'-O0'
|
||||
],
|
||||
'ldflags': [
|
||||
'-ftest-coverage',
|
||||
'-fprofile-arcs'
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
}],
|
||||
['OS == "mac"', {
|
||||
'xcode_settings': {
|
||||
'MACOSX_DEPLOYMENT_TARGET': '10.9',
|
||||
'OTHER_CFLAGS': [
|
||||
'-std=c++11',
|
||||
'-stdlib=libc++'
|
||||
]
|
||||
}
|
||||
}]
|
||||
],
|
||||
"target_name": "grpc_node",
|
||||
"sources": [
|
||||
"src/node/ext/byte_buffer.cc",
|
||||
"src/node/ext/call.cc",
|
||||
"src/node/ext/channel.cc",
|
||||
"src/node/ext/completion_queue_async_worker.cc",
|
||||
"src/node/ext/credentials.cc",
|
||||
"src/node/ext/node_grpc.cc",
|
||||
"src/node/ext/server.cc",
|
||||
"src/node/ext/server_credentials.cc",
|
||||
"src/node/ext/timeval.cc"
|
||||
],
|
||||
"dependencies": [
|
||||
"grpc.gyp:grpc"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
8
grpc.gyp
8
grpc.gyp
|
@ -78,7 +78,13 @@
|
|||
'-ldl',
|
||||
'-lpthread',
|
||||
'-lz'
|
||||
]
|
||||
],
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [
|
||||
'.',
|
||||
'include'
|
||||
],
|
||||
}
|
||||
},
|
||||
'targets': [
|
||||
# TODO: Add C++ targets
|
||||
|
|
|
@ -16,14 +16,13 @@
|
|||
}
|
||||
],
|
||||
"directories": {
|
||||
"lib": "src",
|
||||
"example": "examples"
|
||||
"lib": "src/node/src"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "node ./node_modules/jshint/bin/jshint src test examples interop index.js",
|
||||
"test": "./node_modules/.bin/mocha && npm run-script lint",
|
||||
"gen_docs": "./node_modules/.bin/jsdoc -c jsdoc_conf.json",
|
||||
"coverage": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha"
|
||||
"lint": "node ./node_modules/jshint/bin/jshint src/node/src src/node/test src/node/examples src/node/interop src/node/index.js",
|
||||
"test": "./node_modules/.bin/mocha src/node/test && npm run-script lint",
|
||||
"gen_docs": "./node_modules/.bin/jsdoc -c src/node/jsdoc_conf.json",
|
||||
"coverage": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha src/node/test"
|
||||
},
|
||||
"dependencies": {
|
||||
"bindings": "^1.2.0",
|
||||
|
@ -47,17 +46,22 @@
|
|||
},
|
||||
"files": [
|
||||
"LICENSE",
|
||||
"README.md",
|
||||
"index.js",
|
||||
"binding.gyp",
|
||||
"bin",
|
||||
"cli",
|
||||
"examples",
|
||||
"ext",
|
||||
"interop",
|
||||
"src",
|
||||
"test"
|
||||
"src/node/README.md",
|
||||
"src/node/index.js",
|
||||
"src/node/bin",
|
||||
"src/node/cli",
|
||||
"src/node/examples",
|
||||
"src/node/ext",
|
||||
"src/node/health_check",
|
||||
"src/node/interop",
|
||||
"src/node/src",
|
||||
"src/node/test",
|
||||
"src/core",
|
||||
"test/proto",
|
||||
"include",
|
||||
"grpc.gyp",
|
||||
"binding.gyp"
|
||||
],
|
||||
"main": "index.js",
|
||||
"main": "src/node/index.js",
|
||||
"license": "BSD-3-Clause"
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
Copyright 2015, Google Inc.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Google Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@ -5,51 +5,19 @@ Beta
|
|||
|
||||
## PREREQUISITES
|
||||
- `node`: This requires `node` to be installed. If you instead have the `nodejs` executable on Debian, you should install the [`nodejs-legacy`](https://packages.debian.org/sid/nodejs-legacy) package.
|
||||
- [homebrew][] on Mac OS X. These simplify the installation of the gRPC C core.
|
||||
|
||||
## INSTALLATION
|
||||
|
||||
**Linux (Debian):**
|
||||
|
||||
Add [Debian jessie-backports][] to your `sources.list` file. Example:
|
||||
|
||||
```sh
|
||||
echo "deb http://http.debian.net/debian jessie-backports main" | \
|
||||
sudo tee -a /etc/apt/sources.list
|
||||
```
|
||||
|
||||
Install the gRPC Debian package
|
||||
|
||||
```sh
|
||||
sudo apt-get update
|
||||
sudo apt-get install libgrpc-dev
|
||||
```
|
||||
|
||||
Install the gRPC NPM package
|
||||
|
||||
```sh
|
||||
npm install grpc
|
||||
```
|
||||
|
||||
**Mac OS X**
|
||||
|
||||
Install [homebrew][]. Run the following command to install gRPC Node.js.
|
||||
```sh
|
||||
$ curl -fsSL https://goo.gl/getgrpc | bash -s nodejs
|
||||
```
|
||||
This will download and run the [gRPC install script][], then install the latest version of gRPC Nodejs npm package.
|
||||
|
||||
## BUILD FROM SOURCE
|
||||
1. Clone [the grpc Git Repository](https://github.com/grpc/grpc).
|
||||
2. Follow the instructions in the `INSTALL` file in the root of that repository to install the C core library that this package depends on.
|
||||
3. Run `npm install`.
|
||||
|
||||
If you install the gRPC C core library in a custom location, then you need to set some environment variables to install this library. The command will look like this:
|
||||
|
||||
```sh
|
||||
CXXFLAGS=-I<custom location>/include LDFLAGS=-L<custom location>/lib npm install [grpc]
|
||||
```
|
||||
|
||||
## TESTING
|
||||
To run the test suite, simply run `npm test` in the install location.
|
||||
|
||||
|
@ -110,7 +78,3 @@ ServerCredentials
|
|||
```
|
||||
|
||||
An object with factory methods for creating credential objects for servers.
|
||||
|
||||
[homebrew]:http://brew.sh
|
||||
[gRPC install script]:https://raw.githubusercontent.com/grpc/homebrew-grpc/master/scripts/install
|
||||
[Debian jessie-backports]:http://backports.debian.org/Instructions/
|
||||
|
|
|
@ -1,100 +0,0 @@
|
|||
{
|
||||
"variables" : {
|
||||
'config': '<!(echo $CONFIG)'
|
||||
},
|
||||
"targets" : [
|
||||
{
|
||||
'include_dirs': [
|
||||
"<!(node -e \"require('nan')\")"
|
||||
],
|
||||
'cflags': [
|
||||
'-std=c++0x',
|
||||
'-Wall',
|
||||
'-pthread',
|
||||
'-g',
|
||||
'-zdefs',
|
||||
'-Werror',
|
||||
'-Wno-error=deprecated-declarations'
|
||||
],
|
||||
'ldflags': [
|
||||
'-g'
|
||||
],
|
||||
"conditions": [
|
||||
['OS != "win"', {
|
||||
'variables': {
|
||||
'pkg_config_grpc': '<!(pkg-config --exists grpc >/dev/null 2>&1 && echo true || echo false)'
|
||||
},
|
||||
'conditions': [
|
||||
['config=="gcov"', {
|
||||
'cflags': [
|
||||
'-ftest-coverage',
|
||||
'-fprofile-arcs',
|
||||
'-O0'
|
||||
],
|
||||
'ldflags': [
|
||||
'-ftest-coverage',
|
||||
'-fprofile-arcs'
|
||||
]
|
||||
}
|
||||
],
|
||||
['pkg_config_grpc == "true"', {
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
'<!@(pkg-config --libs-only-l --static grpc)'
|
||||
]
|
||||
},
|
||||
'cflags': [
|
||||
'<!@(pkg-config --cflags grpc)'
|
||||
],
|
||||
'libraries': [
|
||||
'<!@(pkg-config --libs-only-L --static grpc)'
|
||||
],
|
||||
'ldflags': [
|
||||
'<!@(pkg-config --libs-only-other --static grpc)'
|
||||
]
|
||||
}, {
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
'-lpthread',
|
||||
'-lgrpc',
|
||||
'-lgpr'
|
||||
],
|
||||
},
|
||||
'conditions':[
|
||||
['OS != "mac"', {
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
'-lrt'
|
||||
]
|
||||
}
|
||||
}]
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
}],
|
||||
['OS == "mac"', {
|
||||
'xcode_settings': {
|
||||
'MACOSX_DEPLOYMENT_TARGET': '10.9',
|
||||
'OTHER_CFLAGS': [
|
||||
'-std=c++11',
|
||||
'-stdlib=libc++'
|
||||
]
|
||||
}
|
||||
}]
|
||||
],
|
||||
"target_name": "grpc",
|
||||
"sources": [
|
||||
"ext/byte_buffer.cc",
|
||||
"ext/call.cc",
|
||||
"ext/channel.cc",
|
||||
"ext/completion_queue_async_worker.cc",
|
||||
"ext/credentials.cc",
|
||||
"ext/node_grpc.cc",
|
||||
"ext/server.cc",
|
||||
"ext/server_credentials.cc",
|
||||
"ext/timeval.cc"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -43,7 +43,7 @@ var server = require('./src/server.js');
|
|||
|
||||
var Metadata = require('./src/metadata.js');
|
||||
|
||||
var grpc = require('bindings')('grpc');
|
||||
var grpc = require('bindings')('grpc_node');
|
||||
|
||||
/**
|
||||
* Load a gRPC object from an existing ProtoBuf.Reflect object.
|
||||
|
@ -90,7 +90,6 @@ exports.load = function load(filename, format) {
|
|||
default:
|
||||
throw new Error('Unrecognized format "' + format + '"');
|
||||
}
|
||||
|
||||
return loadObject(builder.ns);
|
||||
};
|
||||
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
|
||||
// Copyright 2015, Google Inc.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package grpc.testing;
|
||||
|
||||
// An empty message that you can re-use to avoid defining duplicated empty
|
||||
// messages in your project. A typical example is to use it as argument or the
|
||||
// return value of a service API. For instance:
|
||||
//
|
||||
// service Foo {
|
||||
// rpc Bar (grpc.testing.Empty) returns (grpc.testing.Empty) { };
|
||||
// };
|
||||
//
|
||||
message Empty {}
|
|
@ -37,7 +37,9 @@ var fs = require('fs');
|
|||
var path = require('path');
|
||||
var _ = require('lodash');
|
||||
var grpc = require('..');
|
||||
var testProto = grpc.load(__dirname + '/test.proto').grpc.testing;
|
||||
var testProto = grpc.load({
|
||||
root: __dirname + '/../../..',
|
||||
file: 'test/proto/test.proto'}).grpc.testing;
|
||||
var GoogleAuth = require('google-auth-library');
|
||||
|
||||
var assert = require('assert');
|
||||
|
|
|
@ -37,7 +37,9 @@ var fs = require('fs');
|
|||
var path = require('path');
|
||||
var _ = require('lodash');
|
||||
var grpc = require('..');
|
||||
var testProto = grpc.load(__dirname + '/test.proto').grpc.testing;
|
||||
var testProto = grpc.load({
|
||||
root: __dirname + '/../../..',
|
||||
file: 'test/proto/test.proto'}).grpc.testing;
|
||||
|
||||
/**
|
||||
* Create a buffer filled with size zeroes
|
||||
|
|
|
@ -1,132 +0,0 @@
|
|||
|
||||
// Copyright 2015, Google Inc.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Message definitions to be used by integration test service definitions.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package grpc.testing;
|
||||
|
||||
// The type of payload that should be returned.
|
||||
enum PayloadType {
|
||||
// Compressable text format.
|
||||
COMPRESSABLE = 0;
|
||||
|
||||
// Uncompressable binary format.
|
||||
UNCOMPRESSABLE = 1;
|
||||
|
||||
// Randomly chosen from all other formats defined in this enum.
|
||||
RANDOM = 2;
|
||||
}
|
||||
|
||||
// A block of data, to simply increase gRPC message size.
|
||||
message Payload {
|
||||
// The type of data in body.
|
||||
PayloadType type = 1;
|
||||
// Primary contents of payload.
|
||||
bytes body = 2;
|
||||
}
|
||||
|
||||
// Unary request.
|
||||
message SimpleRequest {
|
||||
// Desired payload type in the response from the server.
|
||||
// If response_type is RANDOM, server randomly chooses one from other formats.
|
||||
PayloadType response_type = 1;
|
||||
|
||||
// Desired payload size in the response from the server.
|
||||
// If response_type is COMPRESSABLE, this denotes the size before compression.
|
||||
int32 response_size = 2;
|
||||
|
||||
// Optional input payload sent along with the request.
|
||||
Payload payload = 3;
|
||||
|
||||
// Whether SimpleResponse should include username.
|
||||
bool fill_username = 4;
|
||||
|
||||
// Whether SimpleResponse should include OAuth scope.
|
||||
bool fill_oauth_scope = 5;
|
||||
}
|
||||
|
||||
// Unary response, as configured by the request.
|
||||
message SimpleResponse {
|
||||
// Payload to increase message size.
|
||||
Payload payload = 1;
|
||||
// The user the request came from, for verifying authentication was
|
||||
// successful when the client expected it.
|
||||
string username = 2;
|
||||
// OAuth scope.
|
||||
string oauth_scope = 3;
|
||||
}
|
||||
|
||||
// Client-streaming request.
|
||||
message StreamingInputCallRequest {
|
||||
// Optional input payload sent along with the request.
|
||||
Payload payload = 1;
|
||||
|
||||
// Not expecting any payload from the response.
|
||||
}
|
||||
|
||||
// Client-streaming response.
|
||||
message StreamingInputCallResponse {
|
||||
// Aggregated size of payloads received from the client.
|
||||
int32 aggregated_payload_size = 1;
|
||||
}
|
||||
|
||||
// Configuration for a particular response.
|
||||
message ResponseParameters {
|
||||
// Desired payload sizes in responses from the server.
|
||||
// If response_type is COMPRESSABLE, this denotes the size before compression.
|
||||
int32 size = 1;
|
||||
|
||||
// Desired interval between consecutive responses in the response stream in
|
||||
// microseconds.
|
||||
int32 interval_us = 2;
|
||||
}
|
||||
|
||||
// Server-streaming request.
|
||||
message StreamingOutputCallRequest {
|
||||
// Desired payload type in the response from the server.
|
||||
// If response_type is RANDOM, the payload from each response in the stream
|
||||
// might be of different types. This is to simulate a mixed type of payload
|
||||
// stream.
|
||||
PayloadType response_type = 1;
|
||||
|
||||
// Configuration for each expected response message.
|
||||
repeated ResponseParameters response_parameters = 2;
|
||||
|
||||
// Optional input payload sent along with the request.
|
||||
Payload payload = 3;
|
||||
}
|
||||
|
||||
// Server-streaming response, as configured by the request and parameters.
|
||||
message StreamingOutputCallResponse {
|
||||
// Payload to increase response size.
|
||||
Payload payload = 1;
|
||||
}
|
|
@ -1,72 +0,0 @@
|
|||
|
||||
// Copyright 2015, Google Inc.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// An integration test service that covers all the method signature permutations
|
||||
// of unary/streaming requests/responses.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
import "empty.proto";
|
||||
import "messages.proto";
|
||||
|
||||
package grpc.testing;
|
||||
|
||||
// A simple service to test the various types of RPCs and experiment with
|
||||
// performance with various types of payload.
|
||||
service TestService {
|
||||
// One empty request followed by one empty response.
|
||||
rpc EmptyCall(grpc.testing.Empty) returns (grpc.testing.Empty);
|
||||
|
||||
// One request followed by one response.
|
||||
rpc UnaryCall(SimpleRequest) returns (SimpleResponse);
|
||||
|
||||
// One request followed by a sequence of responses (streamed download).
|
||||
// The server returns the payload with client desired type and sizes.
|
||||
rpc StreamingOutputCall(StreamingOutputCallRequest)
|
||||
returns (stream StreamingOutputCallResponse);
|
||||
|
||||
// A sequence of requests followed by one response (streamed upload).
|
||||
// The server returns the aggregated size of client payload as the result.
|
||||
rpc StreamingInputCall(stream StreamingInputCallRequest)
|
||||
returns (StreamingInputCallResponse);
|
||||
|
||||
// A sequence of requests with each request served by the server immediately.
|
||||
// As one request could lead to multiple responses, this interface
|
||||
// demonstrates the idea of full duplexing.
|
||||
rpc FullDuplexCall(stream StreamingOutputCallRequest)
|
||||
returns (stream StreamingOutputCallResponse);
|
||||
|
||||
// A sequence of requests followed by a sequence of responses.
|
||||
// The server buffers all the client requests and then serves them in order. A
|
||||
// stream of responses are returned to the client when the server starts with
|
||||
// first request.
|
||||
rpc HalfDuplexCall(stream StreamingOutputCallRequest)
|
||||
returns (stream StreamingOutputCallResponse);
|
||||
}
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
var _ = require('lodash');
|
||||
|
||||
var grpc = require('bindings')('grpc.node');
|
||||
var grpc = require('bindings')('grpc_node');
|
||||
|
||||
var common = require('./common');
|
||||
|
||||
|
@ -54,7 +54,7 @@ var Readable = stream.Readable;
|
|||
var Writable = stream.Writable;
|
||||
var Duplex = stream.Duplex;
|
||||
var util = require('util');
|
||||
var version = require('../package.json').version;
|
||||
var version = require('../../../package.json').version;
|
||||
|
||||
util.inherits(ClientWritableStream, Writable);
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
var _ = require('lodash');
|
||||
|
||||
var grpc = require('bindings')('grpc.node');
|
||||
var grpc = require('bindings')('grpc_node');
|
||||
|
||||
var common = require('./common');
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
'use strict';
|
||||
|
||||
var assert = require('assert');
|
||||
var grpc = require('bindings')('grpc.node');
|
||||
var grpc = require('bindings')('grpc_node');
|
||||
|
||||
/**
|
||||
* Helper function to return an absolute deadline given a relative timeout in
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
'use strict';
|
||||
|
||||
var assert = require('assert');
|
||||
var grpc = require('bindings')('grpc.node');
|
||||
var grpc = require('bindings')('grpc_node');
|
||||
|
||||
/**
|
||||
* This is used for testing functions with multiple asynchronous calls that
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
'use strict';
|
||||
|
||||
var assert = require('assert');
|
||||
var grpc = require('bindings')('grpc.node');
|
||||
var grpc = require('bindings')('grpc_node');
|
||||
|
||||
/**
|
||||
* List of all status names
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
'use strict';
|
||||
|
||||
var assert = require('assert');
|
||||
var grpc = require('bindings')('grpc.node');
|
||||
var grpc = require('bindings')('grpc_node');
|
||||
|
||||
/**
|
||||
* This is used for testing functions with multiple asynchronous calls that
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
var assert = require('assert');
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var grpc = require('bindings')('grpc.node');
|
||||
var grpc = require('bindings')('grpc_node');
|
||||
|
||||
describe('server', function() {
|
||||
describe('constructor', function() {
|
||||
|
|
|
@ -356,7 +356,7 @@ describe('Echo metadata', function() {
|
|||
call.end();
|
||||
});
|
||||
it('shows the correct user-agent string', function(done) {
|
||||
var version = require('../package.json').version;
|
||||
var version = require('../../../package.json').version;
|
||||
var call = client.unary({}, function(err, data) { assert.ifError(err); },
|
||||
metadata);
|
||||
call.on('metadata', function(metadata) {
|
||||
|
|
|
@ -80,7 +80,13 @@
|
|||
'-ldl',
|
||||
'-lpthread',
|
||||
'-lz'
|
||||
]
|
||||
],
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [
|
||||
'.',
|
||||
'include'
|
||||
],
|
||||
}
|
||||
},
|
||||
'targets': [
|
||||
% for lib in libs:
|
||||
|
|
Загрузка…
Ссылка в новой задаче