WIP
This commit is contained in:
parent
1eedfba81c
commit
dff4384bd8
@ -41,16 +41,16 @@ async fn relay_connection(ws_url: String, socket: TcpStream) {
|
|||||||
loop {
|
loop {
|
||||||
match tcp_read.read(&mut buff).await {
|
match tcp_read.read(&mut buff).await {
|
||||||
Ok(s) => {
|
Ok(s) => {
|
||||||
if s == 0 {
|
|
||||||
log::info!("Got empty read TCP buffer. Stopping...");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if let Err(e) = ws_write.send(Message::Binary(Vec::from(&buff[0..s]))).await {
|
if let Err(e) = ws_write.send(Message::Binary(Vec::from(&buff[0..s]))).await {
|
||||||
log::error!(
|
log::error!(
|
||||||
"Failed to write to WS connection! {:?} Exiting TCP read -> WS write loop...",e);
|
"Failed to write to WS connection! {:?} Exiting TCP read -> WS write loop...",e);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if s == 0 {
|
||||||
|
log::info!("Got empty read TCP buffer. Stopping...");
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
log::error!(
|
log::error!(
|
||||||
|
@ -36,6 +36,11 @@ impl Actor for RelayWS {
|
|||||||
loop {
|
loop {
|
||||||
match read_half.read(&mut buff).await {
|
match read_half.read(&mut buff).await {
|
||||||
Ok(l) => {
|
Ok(l) => {
|
||||||
|
if l == 0 {
|
||||||
|
log::info!("Got empty read. Closing read end...");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let to_send = DataForWebSocket(Vec::from(&buff[0..l]));
|
let to_send = DataForWebSocket(Vec::from(&buff[0..l]));
|
||||||
if let Err(e) = addr.send(to_send).await {
|
if let Err(e) = addr.send(to_send).await {
|
||||||
log::error!("Failed to send to websocket. Stopping now... {:?}", e);
|
log::error!("Failed to send to websocket. Stopping now... {:?}", e);
|
||||||
@ -69,6 +74,11 @@ impl StreamHandler<Result<ws::Message, ws::ProtocolError>> for RelayWS {
|
|||||||
log::error!("Failed to forward some data, closing connection! {:?}", e);
|
log::error!("Failed to forward some data, closing connection! {:?}", e);
|
||||||
ctx.stop();
|
ctx.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if data.is_empty() {
|
||||||
|
log::info!("Got empty binary message. Closing websocket...");
|
||||||
|
ctx.stop();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user