gRPC
Schemes: grpc://, grpcs://
Query parameters recognised as config fields for this connector. The object-typed tls is set with a JSON literal, e.g. ?tls={...}. Unrecognised parameters are not forwarded as driver options, so any other ?key=value pair is rejected rather than silently ignored.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
concurrency_limit_per_connection | integer | no | null | Maximum number of concurrent requests handled per connection. Server-mode only. |
http2_keepalive_interval_ms | integer | no | null | HTTP/2 keepalive ping interval in milliseconds. Server-mode only. Default disabled |
http2_keepalive_timeout_ms | integer | no | null | Timeout for a keepalive ping acknowledgement in milliseconds. Server-mode only. |
initial_connection_window_size | integer | no | null | HTTP/2 connection-level initial window size in bytes. Server-mode only. |
initial_stream_window_size | integer | no | null | HTTP/2 stream-level initial window size in bytes. Server-mode only. |
max_decoding_message_size | integer | no | null | Maximum size of a decoded incoming message in bytes. Server-mode only. Default 4 MiB. |
server_mode | boolean | no | false | If true, start an embedded tonic gRPC server that accepts incoming Publish / PublishBatch RPCs. If false (the default), connect to a remote server as a client. |
shared | boolean | no | true | (Publisher only) Share one gRPC channel per connection (default: true); false forces a dedicated channel. |
timeout_ms | integer | no | — | Timeout in milliseconds. - Client mode: used as the connection timeout and per-request deadline. - Server mode: applied as the per-request deadline on the embedded server. |
tls | object | no | see below | TLS configuration. |
topic | string | no | — | Topic / subject used for both subscribe and publish paths. |
url | string | yes | — | The gRPC server URL (e.g., “http://localhost:50051” for client or “0.0.0.0:50051” for server mode). |
Struct-typed fields
tls
TLS configuration for secure connections.
Configures Transport Layer Security (TLS/SSL) for encrypted communication. Supports both client certificate (mutual TLS) and server certificate validation.
Examples
use mq_bridge::models::TlsConfig;
let tls = TlsConfig {
required: true,
ca_file: Some("/path/to/ca.pem".to_string()),
cert_file: Some("/path/to/cert.pem".to_string()),
key_file: Some("/path/to/key.pem".to_string()),
..Default::default()
};
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
accept_invalid_certs | boolean | no | false | If true, disable server certificate verification (insecure). |
ca_file | string | no | — | Path to the CA certificate file. |
cert_file | string | no | — | Path to the client certificate file (PEM). |
cert_password | string | no | — | Password for the private key (if encrypted). |
key_file | string | no | — | Path to the client private key file (PEM). |
required | boolean | no | false | If true, enable TLS/SSL. |