Merge pull request #402 from murgatroid99/node_readme

Added a lot more information to Node README
pull/412/head
Tim Emiola 10 years ago
commit 068f193a97
  1. 72
      src/node/README.md

@ -1,12 +1,70 @@
# Node.js GRPC extension
# Node.js gRPC Library
The package is built with
## Installation
node-gyp configure
node-gyp build
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.
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…
Cancel
Save