mirror of https://github.com/grpc/grpc-node.git
				
				
				
			
		
			
				
	
	
	
		
			2.3 KiB
		
	
	
	
	
	
			
		
		
	
	
			2.3 KiB
		
	
	
	
	
	
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_overridegrpc.primary_user_agentgrpc.secondary_user_agentgrpc.default_authoritygrpc.keepalive_time_msgrpc.keepalive_timeout_msgrpc.service_configgrpc.max_concurrent_streamsgrpc.initial_reconnect_backoff_msgrpc.max_reconnect_backoff_msgrpc.use_local_subchannel_poolgrpc.max_send_message_lengthgrpc.max_receive_message_lengthgrpc.enable_http_proxychannelOverridechannelFactoryOverride