Expand description
Spine Connection Module ☀️ 🟡 MOUNTAIN_GROVE_WASM - WASM+Rhai extension host connection
This module provides gRPC-based communication for extension host integration. Maintains full backwards compatibility while adding optional EchoAction support.
§Architecture (Backwards Compatible)
- Legacy RPC Layer: Original gRPC client (unchanged)
- New EchoAction Layer: Optional bidirectional actions (feature-gated)
- Dual Protocol: Both can be used simultaneously
§Feature Gates
-
grove_rpc(default) - Enable legacy RPC layer -
grove_echo(new, feature-gated) - Enable EchoAction layer
§Usage
§Legacy (Unchanged)
use crate::Protocol::{ProtocolConfig}; let mut connection = SpineConnection::new(config); connection.Connect().await?; let response = connection.SendRequest(request).await?;
§With EchoAction (New, Optional)
let mut connection = SpineConnection::new(config); connection.Connect().await?; connection.ConnectEchoClient().await?;
// Use either method let response = connection.SendRequest(request).await?; // OLD: works let echo_response = connection.SendEchoAction(action).await?; // NEW: optional
Structs§
-
Connection
Metrics - Connection metrics for monitoring
-
Heartbeat
Config - Heartbeat configuration for connection monitoring
-
Spine
Connection Impl - Spine connection implementation
Enums§
-
Connection
State - Connection state for Spine connection