Jan Tattermusch d79b7abf72 Merge pull request #6300 from dmitriykovalev/master 9 سال پیش
..
ext dba4c5fd01 Add various options to verify ssl/tls client cert including letting the 9 سال پیش
health_check 6169d5f7b0 Update copyrights 10 سال پیش
interop 25058c965e Merge pull request #6032 from murgatroid99/node_stress_client 10 سال پیش
performance c578e44ab9 add some console messages to node qps worker 9 سال پیش
src 79a75e25c4 Fixing invalid usage of getProtobufServiceAttrs() function. 9 سال پیش
stress 54fa9e4132 address code review comments 10 سال پیش
test 792b302a64 Added file that lets generated code import grpc 9 سال پیش
tools 2dc8442eef Created node tools package to distribute protoc and eventually the plugin 10 سال پیش
.jshintignore 18997430dd Use math test to test generated code 9 سال پیش
README.md e7964dd7bb Fix the link again: Third time's a charm! 10 سال پیش
index.js 6169d5f7b0 Update copyrights 10 سال پیش
jsdoc_conf.json f7f4f57c62 Update Node API documentation generation configuration for move to repo root 10 سال پیش

README.md

npm

Node.js gRPC Library

Status

Beta

PREREQUISITES

  • node: This requires node to be installed, version 0.12 or above. If you instead have the nodejs executable on Debian, you should install the nodejs-legacy package.

  • Note: If you installed node via a package manager and the version is still less than 0.12, try directly installing it from nodejs.org.

INSTALLATION

Install the gRPC NPM package

npm install grpc

BUILD FROM SOURCE

  1. Clone the grpc Git Repository.
  2. Run npm install from the repository root.
  • Note: On Windows, this might fail due to nodejs issue #4932 in which case, you will see something like the following in npm install's output (towards the very beginning):

     ..
     Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
     WINDOWS_BUILD_WARNING
      "..\IMPORTANT: Due to https:\github.com\nodejs\node\issues\4932, to build this library on Windows, you must first remove C:\Users\jenkins\.node-gyp\4.4.0\include\node\openssl"
      ...
      ..
    

    To fix this, you will have to delete the folder C:\Users\<username>\.node-gyp\<node_version>\include\node\openssl and retry npm install

TESTING

To run the test suite, simply run npm test in the install location.

API

This library internally uses ProtoBuf.js, and some structures it exports match those exported by that library

If you require this module, you will get an object with the following members

function load(filename)

Takes a filename of a Protocol Buffer file, and returns an object representing the structure of the protocol buffer in the following way:

  • Namespaces become maps from the names of their direct members to those member objects
  • Service definitions become client constructors for clients for that service. They also have a service member that can be used for constructing servers.
  • Message definitions become Message constructors like those that ProtoBuf.js would create
  • Enum definitions become Enum objects like those that ProtoBuf.js would create
  • Anything else becomes the relevant reflection object that ProtoBuf.js would create

    function loadObject(reflectionObject)
    

Returns the same structure that load returns, but takes a reflection object from ProtoBuf.js instead of a file name.

function Server([serverOpions])

Constructs a server to which service/implementation pairs can be added.

status

An object mapping status names to status code numbers.

callError

An object mapping call error names to codes. This is primarily useful for tracking down certain kinds of internal errors.

Credentials

An object with factory methods for creating credential objects for clients.

ServerCredentials

An object with factory methods for creating credential objects for servers.