Skip to main content

Error

Enum Error 

Source
#[non_exhaustive]
pub enum Error { HarnessNotFound, HarnessNotExecutable { path: PathBuf, source: Error, }, HandshakeFailed { stderr: String, }, Handshake(DecodeError), WebSocketUnreachable { port: u16, attempts: u32, }, WebSocket(Box<Error>), Decode { source: Error, raw: String, }, SessionClosed, Turn { message: String, }, Io(Error), }
Expand description

Anything that can go wrong driving a localharness process.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

HarnessNotFound

The localharness binary could not be located.

It ships only inside the platform wheels published to PyPI, so there is no package manager that will put it on PATH for you — see crate::process::find_harness.

§

HarnessNotExecutable

The configured binary path does not exist or is not executable.

Fields

§path: PathBuf

The path that was tried.

§source: Error

The underlying filesystem error.

§

HandshakeFailed

The harness exited before completing the stdio handshake.

stderr is included because the harness reports configuration problems there and then exits, rather than replying on the wire.

Fields

§stderr: String

Whatever the process wrote to stderr before dying.

§

Handshake(DecodeError)

The handshake reply could not be parsed.

§

WebSocketUnreachable

The WebSocket never accepted a connection on the port the harness reported.

Fields

§port: u16

The port from OutputConfig.

§attempts: u32

How many connection attempts were made.

§

WebSocket(Box<Error>)

Available on crate feature async-client only.

The WebSocket closed or failed mid-session.

Boxed because tungstenite::Error is by far the largest thing this enum carries, and every fallible call in the crate returns this type.

§

Decode

A frame arrived that this crate could not decode.

The raw text is retained: unlike an unknown enum value or an unknown oneof arm — both of which decode fine by design — this means the frame is structurally unexpected, and the payload is what makes it reportable.

Fields

§source: Error

The serde failure.

§raw: String

The frame exactly as received.

§

SessionClosed

The session ended while a caller was waiting on it.

§

Turn

The agent stopped without completing the turn.

Raised after the turn’s steps have been delivered, so whatever the agent managed to say before failing has already been seen.

Fields

§message: String

What the harness reported on the trajectory.

§

Io(Error)

Underlying process or socket I/O failed.

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Error

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<DecodeError> for Error

Source§

fn from(source: DecodeError) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Available on crate feature async-client only.
Source§

fn from(e: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl !UnwindSafe for Error

§

impl Freeze for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V