mirror of https://github.com/grpc/grpc.git
Merge pull request #402 from murgatroid99/node_readme
Added a lot more information to Node READMEpull/412/head
commit
068f193a97
1 changed files with 65 additions and 7 deletions
@ -1,12 +1,70 @@ |
|||||||
# Node.js GRPC extension |
# Node.js gRPC Library |
||||||
|
|
||||||
The package is built with |
## Installation |
||||||
|
|
||||||
node-gyp configure |
First, clone this repository (NPM package coming soon). Then follow the instructions in the `INSTALL` file in the root of the repository to install the C core library that this package depends on. |
||||||
node-gyp build |
|
||||||
|
|
||||||
or, for brevity |
Then, simply run `npm install` in or referencing this directory. |
||||||
|
|
||||||
node-gyp configure build |
## Tests |
||||||
|
|
||||||
The tests can be run with `npm test` on a dev install. |
To run the test suite, simply run `npm test` in the install location. |
||||||
|
|
||||||
|
## API |
||||||
|
|
||||||
|
This library internally uses [ProtoBuf.js](https://github.com/dcodeIO/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 |
||||||
|
|
||||||
|
```javascript |
||||||
|
function load(filename) |
||||||
|
``` |
||||||
|
|
||||||
|
Takes a filename of a [Protocol Buffer](https://developers.google.com/protocol-buffers/) 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 |
||||||
|
|
||||||
|
|
||||||
|
```javascript |
||||||
|
function loadObject(reflectionObject) |
||||||
|
``` |
||||||
|
|
||||||
|
Returns the same structure that `load` returns, but takes a reflection object from `ProtoBuf.js` instead of a file name. |
||||||
|
|
||||||
|
```javascript |
||||||
|
function buildServer(serviceArray) |
||||||
|
``` |
||||||
|
|
||||||
|
Takes an array of service objects and returns a constructor for a server that handles requests to all of those services. |
||||||
|
|
||||||
|
|
||||||
|
```javascript |
||||||
|
status |
||||||
|
``` |
||||||
|
|
||||||
|
An object mapping status names to status code numbers. |
||||||
|
|
||||||
|
|
||||||
|
```javascript |
||||||
|
callError |
||||||
|
``` |
||||||
|
|
||||||
|
An object mapping call error names to codes. This is primarily useful for tracking down certain kinds of internal errors. |
||||||
|
|
||||||
|
|
||||||
|
```javascript |
||||||
|
Credentials |
||||||
|
``` |
||||||
|
|
||||||
|
An object with factory methods for creating credential objects for clients. |
||||||
|
|
||||||
|
|
||||||
|
```javascript |
||||||
|
ServerCredentials |
||||||
|
``` |
||||||
|
|
||||||
|
An object with factory methods fro creating credential objects for servers. |
||||||
|
Loading…
Reference in new issue