Skip to content

Latest commit

 

History

History
49 lines (45 loc) · 2.33 KB

PACKAGE-COMPARISON.md

File metadata and controls

49 lines (45 loc) · 2.33 KB

Feature comparison of grpc and @grpc/grpc-js packages

Feature grpc @grpc/grpc-js
Client ✔️ ✔️
Server ✔️ ✔️
Unary RPCs ✔️ ✔️
Streaming RPCs ✔️ ✔️
Deadlines ✔️ ✔️
Cancellation ✔️ ✔️
Automatic Reconnection ✔️ ✔️
Per-message Compression ✔️ only for response messages
Channel State ✔️ ✔️
JWT Access and Service Account Credentials provided by the Google Auth Library provided by the Google Auth Library
Interceptors ✔️ ✔️
Connection Keepalives ✔️ ✔️
HTTP Connect Support ✔️ ✔️
Retries ✔️
Stats/tracing/monitoring ✔️
Load Balancing ✔️ Pick first and round robin
Initial Metadata Options ✔️ only waitForReady
Other Properties grpc @grpc/grpc-js
Pure JavaScript Code ✔️
Supported Node Versions >= 4 ^8.13.0 or >=10.10.0
Supported Electron Versions All >= 3
Supported Platforms Linux, Windows, MacOS All
Supported Architectures x86, x86-64, ARM7+ All

In addition, all channel arguments defined in this header file are handled by the grpc library. Of those, the following are handled by the @grpc/grpc-js library:

  • grpc.ssl_target_name_override
  • grpc.primary_user_agent
  • grpc.secondary_user_agent
  • grpc.default_authority
  • grpc.keepalive_time_ms
  • grpc.keepalive_timeout_ms
  • grpc.keepalive_permit_without_calls
  • grpc.service_config
  • grpc.max_concurrent_streams
  • grpc.initial_reconnect_backoff_ms
  • grpc.max_reconnect_backoff_ms
  • grpc.use_local_subchannel_pool
  • grpc.max_send_message_length
  • grpc.max_receive_message_length
  • grpc.enable_http_proxy
  • channelOverride
  • channelFactoryOverride