use crate::runtime::{OpenAiFederation, OpenAiRunnerRegistry};
pub use super::execution_record::{
GatewayRunExecution as ResponseExecution, GatewayRunIdGenerators as ResponseIdGenerators,
};
#[derive(Clone, Copy)]
pub struct ResponseRuntimeTargets<'a> {
runners: &'a OpenAiRunnerRegistry,
federation: Option<&'a OpenAiFederation>,
}
impl<'a> ResponseRuntimeTargets<'a> {
pub fn runners(runners: &'a OpenAiRunnerRegistry) -> Self {
Self {
runners,
federation: None,
}
}
pub fn with_federation(
runners: &'a OpenAiRunnerRegistry,
federation: &'a OpenAiFederation,
) -> Self {
Self {
runners,
federation: Some(federation),
}
}
pub fn runners_ref(self) -> &'a OpenAiRunnerRegistry {
self.runners
}
pub fn federation_ref(self) -> Option<&'a OpenAiFederation> {
self.federation
}
}