more route work

This commit is contained in:
John Smith
2022-10-30 23:23:12 -04:00
parent 50718b7074
commit 68d55a5e77
17 changed files with 312 additions and 211 deletions

View File

@@ -757,7 +757,9 @@ impl NetworkManager {
Ok(v) => v,
};
receipt_manager.handle_receipt(receipt, None).await
receipt_manager
.handle_receipt(receipt, ReceiptReturned::OutOfBand)
.await
}
/// Process a received in-band receipt
@@ -765,7 +767,7 @@ impl NetworkManager {
pub async fn handle_in_band_receipt<R: AsRef<[u8]>>(
&self,
receipt_data: R,
inbound_nr: NodeRef,
inbound_noderef: NodeRef,
) -> NetworkResult<()> {
let receipt_manager = self.receipt_manager();
@@ -777,7 +779,27 @@ impl NetworkManager {
};
receipt_manager
.handle_receipt(receipt, Some(inbound_nr))
.handle_receipt(receipt, ReceiptReturned::InBand { inbound_noderef })
.await
}
/// Process a received private receipt
#[instrument(level = "trace", skip(self, receipt_data), ret)]
pub async fn handle_private_receipt<R: AsRef<[u8]>>(
&self,
receipt_data: R,
) -> NetworkResult<()> {
let receipt_manager = self.receipt_manager();
let receipt = match Receipt::from_signed_data(receipt_data.as_ref()) {
Err(e) => {
return NetworkResult::invalid_message(e.to_string());
}
Ok(v) => v,
};
receipt_manager
.handle_receipt(receipt, ReceiptReturned::Private)
.await
}
@@ -1001,7 +1023,7 @@ impl NetworkManager {
// Wait for the return receipt
let inbound_nr = match eventual_value.await.take_value().unwrap() {
ReceiptEvent::ReturnedOutOfBand => {
ReceiptEvent::ReturnedPrivate | ReceiptEvent::ReturnedOutOfBand => {
return Ok(NetworkResult::invalid_message(
"reverse connect receipt should be returned in-band",
));
@@ -1102,7 +1124,7 @@ impl NetworkManager {
// Wait for the return receipt
let inbound_nr = match eventual_value.await.take_value().unwrap() {
ReceiptEvent::ReturnedOutOfBand => {
ReceiptEvent::ReturnedPrivate | ReceiptEvent::ReturnedOutOfBand => {
return Ok(NetworkResult::invalid_message(
"hole punch receipt should be returned in-band",
));