mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
ws load test: send answers regarding correct info_hash
This commit is contained in:
parent
d4c95d89c0
commit
2279e8390e
1 changed files with 7 additions and 6 deletions
|
|
@ -6,7 +6,7 @@ use std::{
|
||||||
time::Duration,
|
time::Duration,
|
||||||
};
|
};
|
||||||
|
|
||||||
use aquatic_ws_protocol::{InMessage, OfferId, OutMessage, PeerId, RtcAnswer, RtcAnswerType};
|
use aquatic_ws_protocol::{InMessage, OfferId, OutMessage, PeerId, RtcAnswer, RtcAnswerType, InfoHash};
|
||||||
use async_tungstenite::{client_async, WebSocketStream};
|
use async_tungstenite::{client_async, WebSocketStream};
|
||||||
use futures::{SinkExt, StreamExt};
|
use futures::{SinkExt, StreamExt};
|
||||||
use futures_rustls::{client::TlsStream, TlsConnector};
|
use futures_rustls::{client::TlsStream, TlsConnector};
|
||||||
|
|
@ -66,7 +66,7 @@ struct Connection {
|
||||||
rng: SmallRng,
|
rng: SmallRng,
|
||||||
can_send: bool,
|
can_send: bool,
|
||||||
peer_id: PeerId,
|
peer_id: PeerId,
|
||||||
send_answer: Option<(PeerId, OfferId)>,
|
send_answer: Option<(InfoHash, PeerId, OfferId)>,
|
||||||
stream: WebSocketStream<TlsStream<TcpStream>>,
|
stream: WebSocketStream<TlsStream<TcpStream>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -131,7 +131,8 @@ impl Connection {
|
||||||
// If self.send_answer is set and request is announce request, make
|
// If self.send_answer is set and request is announce request, make
|
||||||
// the request an offer answer
|
// the request an offer answer
|
||||||
let request = if let InMessage::AnnounceRequest(mut r) = request {
|
let request = if let InMessage::AnnounceRequest(mut r) = request {
|
||||||
if let Some((peer_id, offer_id)) = self.send_answer {
|
if let Some((info_hash, peer_id, offer_id)) = self.send_answer {
|
||||||
|
r.info_hash = info_hash;
|
||||||
r.answer_to_peer_id = Some(peer_id);
|
r.answer_to_peer_id = Some(peer_id);
|
||||||
r.answer_offer_id = Some(offer_id);
|
r.answer_offer_id = Some(offer_id);
|
||||||
r.answer = Some(RtcAnswer {
|
r.answer = Some(RtcAnswer {
|
||||||
|
|
@ -142,13 +143,13 @@ impl Connection {
|
||||||
r.offers = None;
|
r.offers = None;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.send_answer = None;
|
|
||||||
|
|
||||||
InMessage::AnnounceRequest(r)
|
InMessage::AnnounceRequest(r)
|
||||||
} else {
|
} else {
|
||||||
request
|
request
|
||||||
};
|
};
|
||||||
|
|
||||||
|
self.send_answer = None;
|
||||||
|
|
||||||
self.stream.send(request.to_ws_message()).await?;
|
self.stream.send(request.to_ws_message()).await?;
|
||||||
|
|
||||||
self.load_test_state
|
self.load_test_state
|
||||||
|
|
@ -190,7 +191,7 @@ impl Connection {
|
||||||
.responses_offer
|
.responses_offer
|
||||||
.fetch_add(1, Ordering::Relaxed);
|
.fetch_add(1, Ordering::Relaxed);
|
||||||
|
|
||||||
self.send_answer = Some((offer.peer_id, offer.offer_id));
|
self.send_answer = Some((offer.info_hash, offer.peer_id, offer.offer_id));
|
||||||
|
|
||||||
self.can_send = true;
|
self.can_send = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue