You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use slices to references not slices of concrete objects in pub API
Because the C bindings maps objects into new structs which contain
only a pointer to the underlying (immovable) Rust type, it cannot
create a list of Rust types which are contiguous in memory. Thus,
in order to allow C clients to call certain Rust functions, we have
to use &[&Type] not &[Type]. This commit fixes this issue for the
get_route function.
let net_graph_msg_handler = &nodes[0].net_graph_msg_handler;
3628
-
let route = get_route(&nodes[0].node.get_our_node_id(),&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[1].node.get_our_node_id(),Some(&nodes[0].node.list_usable_channels()),&Vec::new(),1000000,TEST_FINAL_CLTV,&logger).unwrap();
3628
+
let route = get_route(&nodes[0].node.get_our_node_id(),&net_graph_msg_handler.network_graph.read().unwrap(),
let net_graph_msg_handler = &nodes[0].net_graph_msg_handler;
3803
-
let route = get_route(&nodes[0].node.get_our_node_id(),&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[1].node.get_our_node_id(),Some(&nodes[0].node.list_usable_channels()),&Vec::new(),1000000,TEST_FINAL_CLTV,&logger).unwrap();
3805
+
let route = get_route(&nodes[0].node.get_our_node_id(),&net_graph_msg_handler.network_graph.read().unwrap(),
// TODO: Obviously *only* using total fee cost sucks. We should consider weighting by
175
175
// uptime/success in using a node in the past.
176
176
if*target == *our_node_id {
@@ -907,7 +907,7 @@ mod tests {
907
907
inbound_capacity_msat:0,
908
908
is_live:true,
909
909
}];
910
-
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[2],Some(&our_chans),&Vec::new(),100,42,Arc::clone(&logger)).unwrap();
910
+
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[2],Some(&our_chans.iter().collect::<Vec<_>>()),&Vec::new(),100,42,Arc::clone(&logger)).unwrap();
911
911
assert_eq!(route.paths[0].len(),2);
912
912
913
913
assert_eq!(route.paths[0][0].pubkey, nodes[7]);
@@ -954,7 +954,7 @@ mod tests {
954
954
inbound_capacity_msat:0,
955
955
is_live:true,
956
956
}];
957
-
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[2],Some(&our_chans),&Vec::new(),100,42,Arc::clone(&logger)).unwrap();
957
+
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[2],Some(&our_chans.iter().collect::<Vec<_>>()),&Vec::new(),100,42,Arc::clone(&logger)).unwrap();
958
958
assert_eq!(route.paths[0].len(),2);
959
959
960
960
assert_eq!(route.paths[0][0].pubkey, nodes[7]);
@@ -1018,7 +1018,7 @@ mod tests {
1018
1018
inbound_capacity_msat:0,
1019
1019
is_live:true,
1020
1020
}];
1021
-
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[2],Some(&our_chans),&Vec::new(),100,42,Arc::clone(&logger)).unwrap();
1021
+
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[2],Some(&our_chans.iter().collect::<Vec<_>>()),&Vec::new(),100,42,Arc::clone(&logger)).unwrap();
1022
1022
assert_eq!(route.paths[0].len(),2);
1023
1023
1024
1024
assert_eq!(route.paths[0][0].pubkey, nodes[7]);
@@ -1071,7 +1071,7 @@ mod tests {
1071
1071
let(_, our_id, _, nodes) = get_nodes(&secp_ctx);
1072
1072
1073
1073
// Simple test across 2, 3, 5, and 4 via a last_hop channel
1074
-
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[6],None,&last_hops(&nodes),100,42,Arc::clone(&logger)).unwrap();
1074
+
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[6],None,&last_hops(&nodes).iter().collect::<Vec<_>>(),100,42,Arc::clone(&logger)).unwrap();
1075
1075
assert_eq!(route.paths[0].len(),5);
1076
1076
1077
1077
assert_eq!(route.paths[0][0].pubkey, nodes[1]);
@@ -1130,7 +1130,7 @@ mod tests {
1130
1130
is_live:true,
1131
1131
}];
1132
1132
letmut last_hops = last_hops(&nodes);
1133
-
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[6],Some(&our_chans),&last_hops,100,42,Arc::clone(&logger)).unwrap();
1133
+
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[6],Some(&our_chans.iter().collect::<Vec<_>>()),&last_hops.iter().collect::<Vec<_>>(),100,42,Arc::clone(&logger)).unwrap();
1134
1134
assert_eq!(route.paths[0].len(),2);
1135
1135
1136
1136
assert_eq!(route.paths[0][0].pubkey, nodes[3]);
@@ -1150,7 +1150,7 @@ mod tests {
1150
1150
last_hops[0].fees.base_msat = 1000;
1151
1151
1152
1152
// Revert to via 6 as the fee on 8 goes up
1153
-
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[6],None,&last_hops,100,42,Arc::clone(&logger)).unwrap();
1153
+
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[6],None,&last_hops.iter().collect::<Vec<_>>(),100,42,Arc::clone(&logger)).unwrap();
1154
1154
assert_eq!(route.paths[0].len(),4);
1155
1155
1156
1156
assert_eq!(route.paths[0][0].pubkey, nodes[1]);
@@ -1184,7 +1184,7 @@ mod tests {
1184
1184
assert_eq!(route.paths[0][3].channel_features.le_flags(),&Vec::<u8>::new());// We can't learn any flags from invoices, sadly
1185
1185
1186
1186
// ...but still use 8 for larger payments as 6 has a variable feerate
1187
-
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[6],None,&last_hops,2000,42,Arc::clone(&logger)).unwrap();
1187
+
let route = get_route(&our_id,&net_graph_msg_handler.network_graph.read().unwrap(),&nodes[6],None,&last_hops.iter().collect::<Vec<_>>(),2000,42,Arc::clone(&logger)).unwrap();
0 commit comments