scalo 2.9.2

Self-regulating runtime for data-plane services -- config, logging, metrics, health, transport, backpressure, adaptive scaling. Batteries included; idiomatic Rust (also on PyPI).
Documentation
// Project:   scalo
// File:      src/transport/vector_compat/mod.rs
// Purpose:   Vector gRPC compatibility layer
// Language:  Rust
//
// License:   Apache-2.0
// Copyright: (c) 2026 HYPERI PTY LIMITED

//! # Vector Wire Protocol Compatibility
//!
//! Provides source (server) and sink (client) implementations compatible
//! with Vector's v2 gRPC protocol (`vector.Vector/PushEvents`).
//!
//! Migration path from Vector-based pipelines to native transport:
//!
//! ```text
//! Phase 1: vector-receiver -> vector-sink -> [loader + vector-compat]
//! Phase 2: [receiver] -> native gRPC -> [loader, native proto]
//! Phase 3: Disable vector-compat (pure native pipeline)
//! ```
//!
//! ## Proto files
//!
//! Vendored from <https://github.com/vectordotdev/vector> (pinned 2026-03-02):
//! - `proto/vector/vector.proto` -- PushEvents service definition
//! - `proto/vector/event.proto` -- EventWrapper, Log, Value, Metric, Trace
//!
//! ## Feature flag
//!
//! Requires `transport-grpc-vector-compat` (implies `transport-grpc`).

pub mod convert;
pub mod proto;
pub mod sink;
pub mod source;

pub use convert::{event_wrapper_to_json, json_to_event_wrapper};
pub use sink::VectorCompatClient;
pub use source::VectorCompatService;