mirror of
https://github.com/MercuryWorkshop/epoxy-tls.git
synced 2025-05-12 22:10:01 -04:00
workaround bug for alu
This commit is contained in:
parent
2d73524408
commit
26fd6a3556
3 changed files with 74 additions and 60 deletions
|
@ -367,10 +367,12 @@ impl EpoxyClient {
|
|||
|
||||
Box::pin(async move {
|
||||
let (write, read) = WebSocketWrapper::connect(&wisp_url, &ws_protocols)?;
|
||||
if !write.wait_for_open().await {
|
||||
return Err(EpoxyError::WebSocketConnectFailed(
|
||||
"websocket did not open".to_string(),
|
||||
));
|
||||
while write.inner.ready_state() == 0 {
|
||||
if !write.wait_for_open().await {
|
||||
return Err(EpoxyError::WebSocketConnectFailed(
|
||||
"websocket did not open".to_string(),
|
||||
));
|
||||
}
|
||||
}
|
||||
Ok((
|
||||
Box::new(read) as Box<dyn WebSocketRead + Send>,
|
||||
|
|
|
@ -43,7 +43,7 @@ pub enum WebSocketMessage {
|
|||
}
|
||||
|
||||
pub struct WebSocketWrapper {
|
||||
inner: SendWrapper<WebSocket>,
|
||||
pub inner: SendWrapper<WebSocket>,
|
||||
open_event: Arc<Event>,
|
||||
error_event: Arc<Event>,
|
||||
close_event: Arc<Event>,
|
||||
|
@ -124,7 +124,10 @@ impl WebSocketWrapper {
|
|||
let onerror_close = close_event.clone();
|
||||
let onerror_event = error_event.clone();
|
||||
let onerror = Closure::wrap(Box::new(move |e| {
|
||||
let _ = onerror_tx.send(WebSocketMessage::Error(WebSocketError::Unknown(format!("{:?}", e))));
|
||||
let _ = onerror_tx.send(WebSocketMessage::Error(WebSocketError::Unknown(format!(
|
||||
"{:?}",
|
||||
e
|
||||
))));
|
||||
onerror_closed.store(true, Ordering::Release);
|
||||
onerror_close.notify(usize::MAX);
|
||||
onerror_event.notify(usize::MAX);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue