mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
aquatic ws load test: improve answer sending
This commit is contained in:
parent
3e4e145248
commit
f7eae860d3
1 changed files with 7 additions and 11 deletions
|
|
@ -129,13 +129,9 @@ impl Connection {
|
||||||
if text.contains("answer"){
|
if text.contains("answer"){
|
||||||
state.statistics.responses_answer
|
state.statistics.responses_answer
|
||||||
.fetch_add(1, Ordering::SeqCst);
|
.fetch_add(1, Ordering::SeqCst);
|
||||||
|
|
||||||
send_random_request = true;
|
|
||||||
} else if text.contains("offer"){
|
} else if text.contains("offer"){
|
||||||
// If message is an offer, don't send random
|
// If message is an offer, send an answer but
|
||||||
// request in return, since that would cause
|
// no new offers in next announce request.
|
||||||
// exponential growth of number of requests.
|
|
||||||
// However, add an answer to next request.
|
|
||||||
|
|
||||||
let res_offer: Result<MiddlemanOfferToPeer, _> = ::serde_json::from_str(&text);
|
let res_offer: Result<MiddlemanOfferToPeer, _> = ::serde_json::from_str(&text);
|
||||||
|
|
||||||
|
|
@ -156,14 +152,12 @@ impl Connection {
|
||||||
} else if text.contains("interval"){
|
} else if text.contains("interval"){
|
||||||
state.statistics.responses_announce
|
state.statistics.responses_announce
|
||||||
.fetch_add(1, Ordering::SeqCst);
|
.fetch_add(1, Ordering::SeqCst);
|
||||||
|
|
||||||
send_random_request = true;
|
|
||||||
} else if text.contains("scrape"){
|
} else if text.contains("scrape"){
|
||||||
state.statistics.responses_scrape
|
state.statistics.responses_scrape
|
||||||
.fetch_add(1, Ordering::SeqCst);
|
.fetch_add(1, Ordering::SeqCst);
|
||||||
|
|
||||||
send_random_request = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
send_random_request = true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Err(tungstenite::Error::Io(err)) if err.kind() == ErrorKind::WouldBlock => {
|
Err(tungstenite::Error::Io(err)) if err.kind() == ErrorKind::WouldBlock => {
|
||||||
|
|
@ -201,12 +195,14 @@ impl Connection {
|
||||||
rng
|
rng
|
||||||
);
|
);
|
||||||
|
|
||||||
// Add offer answer data if applicable
|
// If self.send_answer is set and request is announce request, make
|
||||||
|
// 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((peer_id, offer_id)) = self.send_answer {
|
||||||
r.to_peer_id = Some(peer_id);
|
r.to_peer_id = Some(peer_id);
|
||||||
r.offer_id = Some(offer_id);
|
r.offer_id = Some(offer_id);
|
||||||
r.answer = Some(JsonValue(::serde_json::Value::from("{}")));
|
r.answer = Some(JsonValue(::serde_json::Value::from("{}")));
|
||||||
|
r.offers = None;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.send_answer = None;
|
self.send_answer = None;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue