AVVS 2f124ad68b
fix: perf issues in hot paths
1. no unused timers, wrap tracing calls to avoid stringifying
2. track graceful end of the call and avoid emitting 'cancelled' in such cases
3. remove validate calls in metadata on operations where it's not needed
4. refactor server session stream handlers into separate channelz enabled/disabled handlers
5. refactor message request logic - reduce amount of microtasks generated
6. improve sendStatus a little when there is no metadata involved
2022-10-19 14:48:11 -07:00
2022-10-19 14:48:11 -07:00
2017-09-13 02:06:15 +02:00
2017-09-13 02:06:15 +02:00
2017-08-02 15:11:07 -07:00
2017-09-13 02:06:15 +02:00
2017-08-02 15:10:19 -07:00
2021-07-28 12:38:24 -07:00
2021-01-22 10:57:55 -08:00
2021-09-02 23:00:11 +05:30

Build Status

gRPC on Node.js

Implementations

For a comparison of the features available in these two libraries, see this document

C-based Client and Server

Directory: packages/grpc-native-core (lives in the grpc@1.24.x branch) (see here for installation information)

npm package: grpc.

This is the existing, feature-rich implementation of gRPC using a C++ addon. It works on all LTS versions of Node.js on most platforms that Node.js runs on.

Pure JavaScript Client

Directory: packages/grpc-js

npm package: @grpc/grpc-js

This library implements the core functionality of gRPC purely in JavaScript, without a C++ addon. It works on the latest version of Node.js on all platforms that Node.js runs on.

Other Packages

gRPC Protobuf Loader

Directory: packages/proto-loader

npm package: @grpc/proto-loader

This library loads .proto files into objects that can be passed to the gRPC libraries.

gRPC Tools

Directory: packages/grpc-tools

npm package: grpc-tools

Distribution of protoc and the gRPC Node protoc plugin for ease of installation with npm.

gRPC Health Check Service

Directory: packages/grpc-health-check

npm package: grpc-health-check

Health check service for gRPC servers.

Description
gRPC for Node.js
Readme Apache-2.0 35 MiB
Languages
TypeScript 87.3%
JavaScript 10.2%
C++ 1.2%
Shell 0.8%
Dockerfile 0.2%
Other 0.2%