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 layergrove_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