use crate::webrtc::signaling::{SignalingMessage, SignalingMethod, SignalingParams};
use anyhow::Result;
use std::sync::Arc;
use tokio::sync::Mutex;
#[allow(dead_code)]
pub struct RestSignaling {
base_url: String,
request_id: Arc<Mutex<u64>>,
}
impl RestSignaling {
pub fn new(base_url: &str) -> Self {
Self {
base_url: base_url.to_string(),
request_id: Arc::new(Mutex::new(0)),
}
}
pub async fn request(
&self,
method: SignalingMethod,
params: SignalingParams,
) -> Result<SignalingMessage> {
let id = {
let mut id_guard = self.request_id.lock().await;
*id_guard += 1;
*id_guard
};
let _request = SignalingMessage::request(method, params, id);
Err(anyhow::anyhow!(
"REST signaling requires HTTP client implementation. Use WebSocket signaling instead."
))
}
}