radicle-node: Allow Communication of Errors
A new control message for errors is introduced. It refers to a stream and carries the error that was observed on the stream.
7 files changed
+302
-77
e0d18b86
→
989635e5
modified radicle-fetch/src/transport.rs
@@ -26,15 +26,15 @@ use crate::git::repository;
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -46,9 +46,9 @@ pub trait SignalEof {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -175,7 +175,7 @@ where
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified radicle-node/src/wire.rs
@@ -1,8 +1,10 @@
| + | |
|
|
|
|
|
|
|
|
|
|
| + | |
|
|
|
|
|
added radicle-node/src/wire/error.rs
@@ -0,0 +1,166 @@
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
modified radicle-node/src/wire/frame.rs
@@ -4,6 +4,8 @@ use std::{fmt, io};
|
|
|
|
|
|
| + | |
| + | |
|
|
|
|
|
@@ -13,7 +15,13 @@ const CONTROL_OPEN: u8 = 0;
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
| + | |
| + | |
|
|
|
|
|
@@ -260,12 +268,13 @@ pub enum Control {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
| + | |
| + | |
|
|
|
|
|
@@ -277,13 +286,14 @@ impl wire::Decode for Control {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -299,14 +309,15 @@ impl wire::Encode for Control {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
|
|
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified radicle-node/src/wire/protocol.rs
@@ -31,6 +31,7 @@ use crate::service;
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -117,11 +118,6 @@ impl Streams {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
|
|
|
|
|
@@ -414,37 +410,50 @@ where
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
| + | |
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
| + | |
| + | |
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
|
|
| - | |
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -473,7 +482,9 @@ where
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -788,32 +799,33 @@ where
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| - | |
| + | |
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified radicle-node/src/worker.rs
@@ -6,6 +6,7 @@ pub mod fetch;
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -21,7 +22,7 @@ use radicle_fetch::FetchLimit;
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -86,10 +87,22 @@ pub enum UploadError {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -243,7 +256,7 @@ impl Worker {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified radicle-node/src/worker/channels.rs
@@ -8,7 +8,7 @@ use radicle::node::config::FetchPackSizeLimit;
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -83,14 +83,13 @@ impl radicle_fetch::transport::ConnectionStream for ChannelsFlush {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| - | |
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -104,7 +103,7 @@ impl<T> fmt::Debug for ChannelEvent<T> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -151,6 +150,10 @@ impl<T: AsRef<[u8]>> Channels<T> {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -226,8 +229,21 @@ impl Read for ChannelReader<Vec<u8>> {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -243,8 +259,8 @@ impl Read for ChannelReader<Vec<u8>> {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -260,11 +276,11 @@ pub struct ChannelFlushWriter<T = Vec<u8>> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -301,4 +317,9 @@ impl<T: AsRef<[u8]>> ChannelWriter<T> {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
|