Skip to main content
Glama
app_state.rs1.74 kB
use std::{ sync::Arc, time::Duration, }; use dal::DalContextBuilder; use edda_client::EddaClient; use nats_dead_letter_queue::DeadLetterQueue; use pinga_client::PingaClient; use si_data_nats::{ NatsClient, async_nats::jetstream, }; use tokio_util::{ sync::CancellationToken, task::TaskTracker, }; use crate::{ Features, ServerMetadata, }; /// Application state. #[derive(Clone, Debug)] pub(crate) struct AppState { pub(crate) metadata: Arc<ServerMetadata>, pub(crate) nats: NatsClient, pub(crate) pinga: PingaClient, pub(crate) edda: EddaClient, pub(crate) requests_stream: jetstream::stream::Stream, pub(crate) dead_letter_queue: DeadLetterQueue, pub(crate) ctx_builder: DalContextBuilder, pub(crate) quiescent_period: Duration, pub(crate) token: CancellationToken, pub(crate) server_tracker: TaskTracker, pub(crate) features: Features, } impl AppState { /// Creates a new [`AppState`]. #[allow(clippy::too_many_arguments)] pub(crate) fn new( metadata: Arc<ServerMetadata>, nats: NatsClient, pinga: PingaClient, edda: EddaClient, requests_stream: jetstream::stream::Stream, dead_letter_queue: DeadLetterQueue, ctx_builder: DalContextBuilder, quiescent_period: Duration, token: CancellationToken, server_tracker: TaskTracker, features: Features, ) -> Self { Self { metadata, nats, pinga, edda, requests_stream, dead_letter_queue, ctx_builder, quiescent_period, token, server_tracker, features, } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server