v0.2.8-pre.002

This commit is contained in:
2026-08-23 13:15:42 +02:00
parent 315e7e67e5
commit 0871b85df9
12 changed files with 767 additions and 50 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-onchain-transport-lib/src/ws_settings.rs
// version: 3
// version: 4
const DEFAULT_WS_CLOSE_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(5);
const DEFAULT_WS_COMMAND_QUEUE_CAPACITY: usize = 128;
@@ -119,13 +119,15 @@ impl WsClusterName {
/// WebSocket protocol family understood by KSP Transport.
///
/// `0.2.7` exposes only standard Solana WebSocket. The non-exhaustive contract allows later provider-specific families without changing the common endpoint
/// container or injecting provider-only options into [`WsSessionSettings`].
/// The protocol discriminator belongs specifically to the WebSocket runtime. Provider products using another transport, including a future Helius
/// LaserStream gRPC backend, require a distinct transport-owned descriptor instead of reusing this enum.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[non_exhaustive]
pub enum WsProtocolKind {
/// Standard Solana JSON-RPC WebSocket PubSub.
SolanaStandard,
/// Helius LaserStream WebSocket protocol surface.
HeliusLaserStream,
}
impl WsProtocolKind {
@@ -134,6 +136,7 @@ impl WsProtocolKind {
pub const fn as_str(self) -> &'static str {
return match self {
Self::SolanaStandard => "solana_standard",
Self::HeliusLaserStream => "helius_laserstream",
};
}
}