pub enum Message {
Manifest(Manifest),
NeedFiles(Vec<String>),
FileData {
path: String,
contents: Vec<u8>,
},
SyncDone,
SyncAck,
BuildStdout(Vec<u8>),
BuildStderr(Vec<u8>),
BuildFinished {
exit_code: u8,
},
SlotsBusy,
Probe {
fingerprint: [u8; 32],
request: BuildRequest,
},
ProbeAccepted,
ProbeMiss,
}Variants§
Manifest(Manifest)
NeedFiles(Vec<String>)
FileData
SyncDone
SyncAck
BuildStdout(Vec<u8>)
BuildStderr(Vec<u8>)
BuildFinished
SlotsBusy
Server-side rejection: all slots for this (team, scope) are currently busy. The client should sleep and retry the whole connection. Sent in place of NeedFiles.
Probe
First message of every build attempt. Carries both a cheap “is anything stale?” fingerprint and the full build request, so the daemon can fast-path straight to cargo without waiting for a separate BuildRequest message after the probe.
Fingerprint is a hash of (path, mtime, size) for every file in the workspace — no file contents read. The daemon caches the last accepted fingerprint per (slot, team, scope) in memory; on a hit it sends ProbeAccepted and starts cargo immediately, on a miss it sends ProbeMiss and expects the usual Manifest flow before running the embedded request.
ProbeAccepted
ProbeMiss
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Message
impl<'de> Deserialize<'de> for Message
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Message
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnsafeUnpin for Message
impl UnwindSafe for Message
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
Mutably borrows from an owned value. Read more