Module SpineConnection

Module SpineConnection 

Source
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§

ConnectionMetrics
Connection metrics for monitoring
HeartbeatConfig
Heartbeat configuration for connection monitoring
SpineConnectionImpl
Spine connection implementation

Enums§

ConnectionState
Connection state for Spine connection