pub struct VsockTaskEnvelope {
pub assignment: Option<TaskAssignment>,
pub blob_url: String,
pub tasks_url: String,
pub otel_endpoint: String,
}Expand description
Envelope for dispatching tasks over vsock (or Unix socket) to workers running inside Firecracker microVMs.
The proxy reads TaskAssignment from the orchestrator’s PullTasks stream and wraps it in this envelope with additional environment URLs that the VM worker needs for direct communication with the orchestrator.
Wire format: sequential length-delimited messages on a single connection. Each message is [4-byte big-endian length][protobuf VsockTaskEnvelope]. End-of-stream (connection closed) means no more tasks.
Fields§
§assignment: Option<TaskAssignment>The task assignment from the orchestrator.
blob_url: StringBlob API URL for the worker to store/retrieve blobs. e.g., “http://orchestrator:7840/api/v1/blobs"
tasks_url: StringTasks service URL (for GetOrchestratorForRun discovery). e.g., “http://orchestrator:7837"
otel_endpoint: StringOpenTelemetry collector endpoint for traces, metrics, and logs. e.g., “http://otel-collector:4317"
Trait Implementations§
Source§impl Clone for VsockTaskEnvelope
impl Clone for VsockTaskEnvelope
Source§fn clone(&self) -> VsockTaskEnvelope
fn clone(&self) -> VsockTaskEnvelope
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for VsockTaskEnvelope
impl Debug for VsockTaskEnvelope
Source§impl Default for VsockTaskEnvelope
impl Default for VsockTaskEnvelope
Source§impl<'de> Deserialize<'de> for VsockTaskEnvelope
impl<'de> Deserialize<'de> for VsockTaskEnvelope
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>,
Source§impl Message for VsockTaskEnvelope
impl Message for VsockTaskEnvelope
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for VsockTaskEnvelope
impl PartialEq for VsockTaskEnvelope
Source§impl Serialize for VsockTaskEnvelope
impl Serialize for VsockTaskEnvelope
impl StructuralPartialEq for VsockTaskEnvelope
Auto Trait Implementations§
impl Freeze for VsockTaskEnvelope
impl RefUnwindSafe for VsockTaskEnvelope
impl Send for VsockTaskEnvelope
impl Sync for VsockTaskEnvelope
impl Unpin for VsockTaskEnvelope
impl UnsafeUnpin for VsockTaskEnvelope
impl UnwindSafe for VsockTaskEnvelope
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request