Consuming SignedOp when it's handled
This commit is contained in:
@@ -46,7 +46,7 @@ impl SideNode {
|
|||||||
}
|
}
|
||||||
match self.incoming_receiver.try_recv() {
|
match self.incoming_receiver.try_recv() {
|
||||||
Ok(incoming) => {
|
Ok(incoming) => {
|
||||||
self.handle_incoming(&incoming);
|
self.handle_incoming(incoming);
|
||||||
}
|
}
|
||||||
Err(_) => {} // ignore empty channel errors in this PoC
|
Err(_) => {} // ignore empty channel errors in this PoC
|
||||||
}
|
}
|
||||||
@@ -59,9 +59,9 @@ impl SideNode {
|
|||||||
self.handle.call(to_send).unwrap();
|
self.handle.call(to_send).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_incoming(&mut self, incoming: &SignedOp) {
|
fn handle_incoming(&mut self, incoming: SignedOp) {
|
||||||
println!("WINNNINGINGINGINGINGIGNIGN");
|
println!("WINNNINGINGINGINGINGIGNIGN");
|
||||||
self.crdt.apply(incoming.clone());
|
self.crdt.apply(incoming);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn add_transaction_local(
|
pub(crate) fn add_transaction_local(
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ impl ezsockets::ClientExt for WebSocketClient {
|
|||||||
// match on it.
|
// match on it.
|
||||||
type Call = String;
|
type Call = String;
|
||||||
|
|
||||||
|
/// When we receive a text message, apply the crdt operation contained in it to our
|
||||||
|
/// local crdt.
|
||||||
async fn on_text(&mut self, text: String) -> Result<(), ezsockets::Error> {
|
async fn on_text(&mut self, text: String) -> Result<(), ezsockets::Error> {
|
||||||
tracing::info!("received text: {text:?}");
|
tracing::info!("received text: {text:?}");
|
||||||
let incoming: bft_json_crdt::json_crdt::SignedOp = serde_json::from_str(&text).unwrap();
|
let incoming: bft_json_crdt::json_crdt::SignedOp = serde_json::from_str(&text).unwrap();
|
||||||
@@ -44,11 +46,14 @@ impl ezsockets::ClientExt for WebSocketClient {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// When we receive a binary message, log the bytes. Currently unused.
|
||||||
async fn on_binary(&mut self, bytes: Vec<u8>) -> Result<(), ezsockets::Error> {
|
async fn on_binary(&mut self, bytes: Vec<u8>) -> Result<(), ezsockets::Error> {
|
||||||
tracing::info!("received bytes: {bytes:?}");
|
tracing::info!("received bytes: {bytes:?}");
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Call this with the `Call` type to send application data to the websocket client
|
||||||
|
/// (and from there, to the server).
|
||||||
async fn on_call(&mut self, call: Self::Call) -> Result<(), ezsockets::Error> {
|
async fn on_call(&mut self, call: Self::Call) -> Result<(), ezsockets::Error> {
|
||||||
tracing::info!("sending signed op: {call:?}");
|
tracing::info!("sending signed op: {call:?}");
|
||||||
self.handle.text(call)?;
|
self.handle.text(call)?;
|
||||||
|
|||||||
Reference in New Issue
Block a user