Skip to content

Commit

Permalink
fix networking, bump bip300301 dep, bump version number
Browse files Browse the repository at this point in the history
  • Loading branch information
Ash-L2L committed Apr 5, 2024
1 parent 190da1a commit d8f651c
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 55 deletions.
7 changes: 4 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ members = [
[workspace.package]
authors = [ "Ash Manning <ash@layertwolabs.com>" ]
edition = "2021"
version = "0.5.12"
version = "0.5.13"

[workspace.dependencies.bip300301]
git = "https://github.com/Ash-L2L/bip300301.git"
rev = "c6e410e702f3d22f5801f21ffdf39edece3985df"
rev = "43ba4d7bee075ecd2504f87b5ec2a5ba3b10cd3b"

[profile.release]
# lto = "fat"
6 changes: 5 additions & 1 deletion app/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ impl App {
};
Ok(node)
})?;
let node = Arc::new(node);
let rt_guard = runtime.enter();
node.clone().run()?;
drop(rt_guard);
let utxos = {
let mut utxos = wallet.get_utxos()?;
let transactions = node.get_all_transactions()?;
Expand All @@ -92,7 +96,7 @@ impl App {
Arc::new(RwLock::new(utxos))
};
Ok(Self {
node: Arc::new(node),
node,
wallet: Arc::new(wallet),
miner: Arc::new(TokioRwLock::new(miner)),
utxos,
Expand Down
1 change: 1 addition & 0 deletions app/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ use logs::{CaptureWriter, LogsCapture};
// Configure logger
fn set_tracing_subscriber(log_level: tracing::Level) -> LogsCapture {
let targets_filter = tracing_filter::Targets::new().with_targets([
("bip300301", log_level),
("jsonrpsee_core::tracing", log_level),
("plain_bitnames", log_level),
("plain_bitnames_app", log_level),
Expand Down
1 change: 1 addition & 0 deletions lib/net.rs
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ impl Net {
}
}
let connection = self.client.connect(addr, "localhost")?.await?;
tracing::debug!("Connected to peer at {addr}");
let peer = Peer {
state: Arc::new(RwLock::new(None)),
connection,
Expand Down
106 changes: 57 additions & 49 deletions lib/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -429,37 +429,6 @@ impl Node {
Ok(())
}

pub async fn connect_peer(&self, addr: SocketAddr) -> Result<(), Error> {
let peer = self.net.connect_peer(addr).await?;
let peer0 = peer.clone();
let node0 = self.clone();
tokio::spawn(async move {
loop {
match node0.peer_listen(&peer0).await {
Ok(_) => {}
Err(err) => {
println!("{:?}", err);
break;
}
}
}
});
let peer0 = peer.clone();
let node0 = self.clone();
tokio::spawn(async move {
loop {
match node0.heart_beat_listen(&peer0).await {
Ok(_) => {}
Err(err) => {
println!("{:?}", err);
break;
}
}
}
});
Ok(())
}

pub async fn heart_beat_listen(
&self,
peer: &crate::net::Peer,
Expand All @@ -482,6 +451,41 @@ impl Node {
Ok(())
}

pub async fn connect_peer(&self, addr: SocketAddr) -> Result<(), Error> {
let peer = self.net.connect_peer(addr).await?;
tokio::spawn({
let node = self.clone();
let peer = peer.clone();
async move {
loop {
match node.peer_listen(&peer).await {
Ok(_) => {}
Err(err) => {
println!("{:?}", err);
break;
}
}
}
}
});
tokio::spawn({
let node = self.clone();
let peer = peer.clone();
async move {
loop {
match node.heart_beat_listen(&peer).await {
Ok(_) => {}
Err(err) => {
println!("{:?}", err);
break;
}
}
}
}
});
Ok(())
}

pub async fn peer_listen(
&self,
peer: &crate::net::Peer,
Expand Down Expand Up @@ -599,28 +603,32 @@ impl Node {
state: Arc::new(RwLock::new(None)),
connection,
};
let node0 = node.clone();
let peer0 = peer.clone();
tokio::spawn(async move {
loop {
match node0.peer_listen(&peer0).await {
Ok(_) => {}
Err(err) => {
println!("{:?}", err);
break;
tokio::spawn({
let node = node.clone();
let peer = peer.clone();
async move {
loop {
match node.peer_listen(&peer).await {
Ok(_) => {}
Err(err) => {
println!("{:?}", err);
break;
}
}
}
}
});
let node0 = node.clone();
let peer0 = peer.clone();
tokio::spawn(async move {
loop {
match node0.heart_beat_listen(&peer0).await {
Ok(_) => {}
Err(err) => {
println!("{:?}", err);
break;
tokio::spawn({
let node = node.clone();
let peer = peer.clone();
async move {
loop {
match node.heart_beat_listen(&peer).await {
Ok(_) => {}
Err(err) => {
println!("{:?}", err);
break;
}
}
}
}
Expand Down

0 comments on commit d8f651c

Please sign in to comment.