mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
ws: include "type" field in RtcOffer and RtcAnswer
This commit is contained in:
parent
0789f7ec3b
commit
c37bf89650
5 changed files with 25 additions and 1 deletions
|
|
@ -6,7 +6,7 @@ use std::{
|
|||
time::Duration,
|
||||
};
|
||||
|
||||
use aquatic_ws_protocol::{InMessage, OfferId, OutMessage, PeerId, RtcAnswer};
|
||||
use aquatic_ws_protocol::{InMessage, OfferId, OutMessage, PeerId, RtcAnswer, RtcAnswerType};
|
||||
use async_tungstenite::{client_async, WebSocketStream};
|
||||
use futures::{SinkExt, StreamExt};
|
||||
use futures_rustls::{client::TlsStream, TlsConnector};
|
||||
|
|
@ -134,6 +134,7 @@ impl Connection {
|
|||
r.answer_to_peer_id = Some(peer_id);
|
||||
r.answer_offer_id = Some(offer_id);
|
||||
r.answer = Some(RtcAnswer {
|
||||
t: RtcAnswerType::Answer,
|
||||
sdp: ::serde_json::json!(
|
||||
{"sdp": "abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-"}
|
||||
),
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ fn create_announce_request(
|
|||
offers.push(AnnounceRequestOffer {
|
||||
offer_id: OfferId(rng.gen()),
|
||||
offer: RtcOffer {
|
||||
t: RtcOfferType::Offer,
|
||||
sdp: ::serde_json::json!(
|
||||
{"sdp": "abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-abcdefg-"}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ pub fn bench(c: &mut Criterion) {
|
|||
|
||||
AnnounceRequestOffer {
|
||||
offer: RtcOffer {
|
||||
t: RtcOfferType::Offer,
|
||||
sdp: ::serde_json::json!({ "sdp": "abcdef" }),
|
||||
},
|
||||
offer_id,
|
||||
|
|
@ -33,6 +34,7 @@ pub fn bench(c: &mut Criterion) {
|
|||
offers: Some(offers),
|
||||
numwant: Some(offers_len),
|
||||
answer: Some(RtcAnswer {
|
||||
t: RtcAnswerType::Answer,
|
||||
sdp: ::serde_json::json!({ "sdp": "abcdef" }),
|
||||
}),
|
||||
answer_to_peer_id: Some(peer_id),
|
||||
|
|
|
|||
|
|
@ -30,11 +30,26 @@ pub struct OfferId(
|
|||
pub [u8; 20],
|
||||
);
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
pub enum RtcOfferType {
|
||||
Offer,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
pub enum RtcAnswerType {
|
||||
Answer,
|
||||
}
|
||||
|
||||
/// Nested structure with SDP offer from https://www.npmjs.com/package/simple-peer
|
||||
///
|
||||
/// Created using https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createOffer
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct RtcOffer {
|
||||
/// Always "offer"
|
||||
#[serde(rename = "type")]
|
||||
pub t: RtcOfferType,
|
||||
pub sdp: ::serde_json::Value,
|
||||
}
|
||||
|
||||
|
|
@ -43,6 +58,9 @@ pub struct RtcOffer {
|
|||
/// Created using https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createAnswer
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct RtcAnswer {
|
||||
/// Always "answer"
|
||||
#[serde(rename = "type")]
|
||||
pub t: RtcAnswerType,
|
||||
pub sdp: ::serde_json::Value,
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,11 +37,13 @@ mod tests {
|
|||
|
||||
fn rtc_offer() -> RtcOffer {
|
||||
RtcOffer {
|
||||
t: RtcOfferType::Offer,
|
||||
sdp: ::serde_json::json!({ "sdp": "test" }),
|
||||
}
|
||||
}
|
||||
fn rtc_answer() -> RtcAnswer {
|
||||
RtcAnswer {
|
||||
t: RtcAnswerType::Answer,
|
||||
sdp: ::serde_json::json!({ "sdp": "test" }),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue