summaryrefslogtreecommitdiffstats
path: root/third_party/rust/neqo-transport/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/neqo-transport/src/lib.rs')
-rw-r--r--third_party/rust/neqo-transport/src/lib.rs27
1 files changed, 24 insertions, 3 deletions
diff --git a/third_party/rust/neqo-transport/src/lib.rs b/third_party/rust/neqo-transport/src/lib.rs
index 5488472b58..723a86980e 100644
--- a/third_party/rust/neqo-transport/src/lib.rs
+++ b/third_party/rust/neqo-transport/src/lib.rs
@@ -15,10 +15,17 @@ mod cc;
mod cid;
mod connection;
mod crypto;
+mod ecn;
mod events;
mod fc;
+#[cfg(fuzzing)]
+pub mod frame;
+#[cfg(not(fuzzing))]
mod frame;
mod pace;
+#[cfg(fuzzing)]
+pub mod packet;
+#[cfg(not(fuzzing))]
mod packet;
mod path;
mod qlog;
@@ -202,13 +209,17 @@ impl ::std::fmt::Display for Error {
pub type AppError = u64;
+#[deprecated(note = "use `CloseReason` instead")]
+pub type ConnectionError = CloseReason;
+
+/// Reason why a connection closed.
#[derive(Clone, Debug, PartialEq, PartialOrd, Ord, Eq)]
-pub enum ConnectionError {
+pub enum CloseReason {
Transport(Error),
Application(AppError),
}
-impl ConnectionError {
+impl CloseReason {
#[must_use]
pub fn app_code(&self) -> Option<AppError> {
match self {
@@ -216,9 +227,19 @@ impl ConnectionError {
Self::Transport(_) => None,
}
}
+
+ /// Checks enclosed error for [`Error::NoError`] and
+ /// [`CloseReason::Application(0)`].
+ #[must_use]
+ pub fn is_error(&self) -> bool {
+ !matches!(
+ self,
+ CloseReason::Transport(Error::NoError) | CloseReason::Application(0),
+ )
+ }
}
-impl From<CloseError> for ConnectionError {
+impl From<CloseError> for CloseReason {
fn from(err: CloseError) -> Self {
match err {
CloseError::Transport(c) => Self::Transport(Error::PeerError(c)),