bump rust types (#321)
* get rid of noisy log Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix types in rust Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
		| @ -575,7 +575,6 @@ export class EngineCommandManager { | ||||
|     if (commandStr === undefined) { | ||||
|       throw new Error('commandStr is undefined') | ||||
|     } | ||||
|     console.log('sendModelingCommandFromWasm', id, rangeStr, commandStr) | ||||
|     const command: EngineCommand = JSON.parse(commandStr) | ||||
|     const range: SourceRange = JSON.parse(rangeStr) | ||||
|  | ||||
|  | ||||
							
								
								
									
										4
									
								
								src/wasm-lib/Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								src/wasm-lib/Cargo.lock
									
									
									
										generated
									
									
									
								
							| @ -419,9 +419,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "kittycad" | ||||
| version = "0.2.18" | ||||
| version = "0.2.19" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "265907330acc7c97b6b2de171554e1354ed300ced20751fc0e40c88117a2d597" | ||||
| checksum = "0443a9f76cee80d5a43d076028d3ce39d2f6f6b66fc5c1a0ce24f8d7caf733b9" | ||||
| dependencies = [ | ||||
|  "anyhow", | ||||
|  "base64", | ||||
|  | ||||
| @ -3,7 +3,7 @@ | ||||
|  | ||||
| use anyhow::Result; | ||||
| use futures::{SinkExt, StreamExt}; | ||||
| use kittycad::types::{WebSocketMessages, WebSocketResponses}; | ||||
| use kittycad::types::{OkWebSocketResponseData, WebSocketRequest, WebSocketResponse}; | ||||
| use tokio_tungstenite::tungstenite::Message as WsMsg; | ||||
|  | ||||
| use crate::errors::{KclError, KclErrorDetails}; | ||||
| @ -35,14 +35,14 @@ pub struct TcpRead { | ||||
| } | ||||
|  | ||||
| impl TcpRead { | ||||
|     pub async fn read(&mut self) -> Result<WebSocketResponses> { | ||||
|     pub async fn read(&mut self) -> Result<WebSocketResponse> { | ||||
|         let msg = self.stream.next().await.unwrap()?; | ||||
|         let msg = match msg { | ||||
|             WsMsg::Text(text) => text, | ||||
|             WsMsg::Binary(bin) => bincode::deserialize(&bin)?, | ||||
|             other => anyhow::bail!("Unexpected websocket message from server: {}", other), | ||||
|         }; | ||||
|         let msg = serde_json::from_str::<WebSocketResponses>(&msg)?; | ||||
|         let msg = serde_json::from_str::<WebSocketResponse>(&msg)?; | ||||
|         Ok(msg) | ||||
|     } | ||||
| } | ||||
| @ -68,19 +68,26 @@ impl EngineConnection { | ||||
|  | ||||
|         let tcp_read_handle = tokio::spawn(async move { | ||||
|             // Get Websocket messages from API server | ||||
|             while let Ok(msg) = tcp_read.read().await { | ||||
|                 match msg { | ||||
|                     WebSocketResponses::IceServerInfo { ice_servers } => { | ||||
|                         println!("got ice server info: {:?}", ice_servers); | ||||
|             while let Ok(ws_resp) = tcp_read.read().await { | ||||
|                 if !ws_resp.success { | ||||
|                     println!("got ws errors: {:?}", ws_resp.errors); | ||||
|                     continue; | ||||
|                 } | ||||
|  | ||||
|                 if let Some(msg) = ws_resp.resp { | ||||
|                     match msg { | ||||
|                         OkWebSocketResponseData::IceServerInfo { ice_servers } => { | ||||
|                             println!("got ice server info: {:?}", ice_servers); | ||||
|                         } | ||||
|                         OkWebSocketResponseData::SdpAnswer { answer } => { | ||||
|                             println!("got sdp answer: {:?}", answer); | ||||
|                         } | ||||
|                         OkWebSocketResponseData::TrickleIce { candidate } => { | ||||
|                             println!("got trickle ice: {:?}", candidate); | ||||
|                         } | ||||
|                         OkWebSocketResponseData::Modeling { .. } => {} | ||||
|                         OkWebSocketResponseData::Export { .. } => {} | ||||
|                     } | ||||
|                     WebSocketResponses::SdpAnswer { answer } => { | ||||
|                         println!("got sdp answer: {:?}", answer); | ||||
|                     } | ||||
|                     WebSocketResponses::TrickleIce { candidate } => { | ||||
|                         println!("got trickle ice: {:?}", candidate); | ||||
|                     } | ||||
|                     WebSocketResponses::Modeling { .. } => {} | ||||
|                     WebSocketResponses::Export { .. } => {} | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
| @ -91,7 +98,7 @@ impl EngineConnection { | ||||
|         }) | ||||
|     } | ||||
|  | ||||
|     pub async fn tcp_send(&mut self, msg: WebSocketMessages) -> Result<()> { | ||||
|     pub async fn tcp_send(&mut self, msg: WebSocketRequest) -> Result<()> { | ||||
|         let msg = serde_json::to_string(&msg)?; | ||||
|         self.tcp_write.send(WsMsg::Text(msg)).await?; | ||||
|  | ||||
| @ -105,7 +112,7 @@ impl EngineConnection { | ||||
|         cmd: kittycad::types::ModelingCmd, | ||||
|     ) -> Result<(), KclError> { | ||||
|         futures::executor::block_on( | ||||
|             self.tcp_send(WebSocketMessages::ModelingCmdReq { cmd, cmd_id: id }), | ||||
|             self.tcp_send(WebSocketRequest::ModelingCmdReq { cmd, cmd_id: id }), | ||||
|         ) | ||||
|         .map_err(|e| { | ||||
|             KclError::Engine(KclErrorDetails { | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| //! engine. | ||||
|  | ||||
| use anyhow::Result; | ||||
| use kittycad::types::WebSocketMessages; | ||||
| use kittycad::types::WebSocketRequest; | ||||
| use wasm_bindgen::prelude::*; | ||||
|  | ||||
| use crate::errors::{KclError, KclErrorDetails}; | ||||
| @ -43,7 +43,7 @@ impl EngineConnection { | ||||
|                 source_ranges: vec![source_range], | ||||
|             }) | ||||
|         })?; | ||||
|         let ws_msg = WebSocketMessages::ModelingCmdReq { cmd, cmd_id: id }; | ||||
|         let ws_msg = WebSocketRequest::ModelingCmdReq { cmd, cmd_id: id }; | ||||
|         let cmd_str = serde_json::to_string(&ws_msg).map_err(|e| { | ||||
|             KclError::Engine(KclErrorDetails { | ||||
|                 message: format!("Failed to serialize modeling command: {:?}", e), | ||||
|  | ||||
| @ -5,9 +5,16 @@ use wasm_bindgen::prelude::*; | ||||
|  | ||||
| #[wasm_bindgen] | ||||
| pub fn deserialize_files(data: &[u8]) -> Result<JsValue, JsError> { | ||||
|     let ws_resp: kittycad::types::WebSocketResponses = bincode::deserialize(data)?; | ||||
|     let ws_resp: kittycad::types::WebSocketResponse = bincode::deserialize(data)?; | ||||
|  | ||||
|     if let kittycad::types::WebSocketResponses::Export { files } = ws_resp { | ||||
|     if !ws_resp.success { | ||||
|         return Err(JsError::new(&format!( | ||||
|             "Server returned error: {:?}", | ||||
|             ws_resp.errors | ||||
|         ))); | ||||
|     } | ||||
|  | ||||
|     if let Some(kittycad::types::OkWebSocketResponseData::Export { files }) = ws_resp.resp { | ||||
|         return Ok(JsValue::from_serde(&files)?); | ||||
|     } | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user