pub enum WireMessage {
Show 16 variants
BlobNegotiation(BlobNegotiationRequest),
BlobNegotiationReply(BlobNegotiationResponse),
Call(RemoteCallRequest),
CallResponse(RemoteCallResponse),
Sidecar(BlobSidecar),
Execute(ExecuteRequest),
ExecuteResponse(ExecuteResponse),
Validate(ValidateRequest),
ValidateResponse(ValidateResponse),
Auth(AuthRequest),
AuthResponse(AuthResponse),
ExecuteFile(ExecuteFileRequest),
ExecuteProject(ExecuteProjectRequest),
ValidatePath(ValidatePathRequest),
Ping(PingRequest),
Pong(ServerInfo),
}Expand description
Envelope for all wire protocol messages.
Wraps the existing RemoteCallRequest/RemoteCallResponse with negotiation
and sidecar message types for bandwidth optimization on persistent connections.
Variants§
BlobNegotiation(BlobNegotiationRequest)
Offer function blob hashes to check what the remote already has.
BlobNegotiationReply(BlobNegotiationResponse)
Reply with the subset of offered hashes that are already cached.
Call(RemoteCallRequest)
A remote function call (may have blobs stripped if negotiation occurred).
CallResponse(RemoteCallResponse)
Response to a remote function call.
Sidecar(BlobSidecar)
A large blob sent as a separate message before the call (Phase 3).
Execute(ExecuteRequest)
Execute Shape source code on the server.
ExecuteResponse(ExecuteResponse)
Response to an Execute request.
Validate(ValidateRequest)
Validate Shape source code (parse + type-check) without executing.
ValidateResponse(ValidateResponse)
Response to a Validate request.
Auth(AuthRequest)
Authenticate with the server (required for non-localhost).
AuthResponse(AuthResponse)
Response to an Auth request.
ExecuteFile(ExecuteFileRequest)
Execute a Shape file on the server.
ExecuteProject(ExecuteProjectRequest)
Execute a Shape project (shape.toml) on the server.
ValidatePath(ValidatePathRequest)
Validate a Shape file or project (parse + type-check) without executing.
Ping(PingRequest)
Ping the server for liveness / capability discovery.
Pong(ServerInfo)
Pong reply with server info.
Trait Implementations§
Source§impl Clone for WireMessage
impl Clone for WireMessage
Source§fn clone(&self) -> WireMessage
fn clone(&self) -> WireMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WireMessage
impl Debug for WireMessage
Source§impl<'de> Deserialize<'de> for WireMessage
impl<'de> Deserialize<'de> for WireMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for WireMessage
impl RefUnwindSafe for WireMessage
impl Send for WireMessage
impl Sync for WireMessage
impl Unpin for WireMessage
impl UnsafeUnpin for WireMessage
impl UnwindSafe for WireMessage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more