pub struct ServerFrame {
pub version: u16,
pub codec: Symbol,
pub msg_id: Option<u64>,
pub correlate: Option<u64>,
pub kind: FrameKind,
pub envelope: FrameEnvelope,
pub payload: Vec<u8>,
}Expand description
A wire frame carrying a codec-encoded payload plus protocol metadata.
Fields§
§version: u16Server frame format version.
codec: SymbolCodec used to encode the payload.
msg_id: Option<u64>Identifier of this message, if assigned.
correlate: Option<u64>Message id this frame correlates to, if it is a reply.
kind: FrameKindRole this frame plays in the protocol.
envelope: FrameEnvelopeOut-of-band envelope metadata.
payload: Vec<u8>Codec-encoded payload bytes.
Implementations§
Source§impl ServerFrame
impl ServerFrame
Sourcepub fn new(
codec: Symbol,
kind: FrameKind,
envelope: FrameEnvelope,
payload: Vec<u8>,
) -> Self
pub fn new( codec: Symbol, kind: FrameKind, envelope: FrameEnvelope, payload: Vec<u8>, ) -> Self
Builds a frame at the current version with no message or correlation id.
Sourcepub fn from_expr(
cx: &mut Cx,
codec: Symbol,
kind: FrameKind,
expr: &Expr,
consistency: Consistency,
required_capabilities: Vec<CapabilityName>,
trace: bool,
) -> Result<Self>
pub fn from_expr( cx: &mut Cx, codec: Symbol, kind: FrameKind, expr: &Expr, consistency: Consistency, required_capabilities: Vec<CapabilityName>, trace: bool, ) -> Result<Self>
Builds a frame by encoding expr under codec into the payload.
Seeds the envelope with the given consistency, required capabilities, and trace flag, leaving the remaining envelope fields at their defaults.
Sourcepub fn decode_expr(&self, cx: &mut Cx, read_policy: ReadPolicy) -> Result<Expr>
pub fn decode_expr(&self, cx: &mut Cx, read_policy: ReadPolicy) -> Result<Expr>
Decodes the payload back into an expression using the frame’s codec.
Trait Implementations§
Source§impl Clone for ServerFrame
impl Clone for ServerFrame
Source§fn clone(&self) -> ServerFrame
fn clone(&self) -> ServerFrame
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ServerFrame
impl Debug for ServerFrame
impl Eq for ServerFrame
Source§impl Object for ServerFrame
impl Object for ServerFrame
Source§fn display(&self, _cx: &mut Cx) -> Result<String>
fn display(&self, _cx: &mut Cx) -> Result<String>
Render the object as a human-readable display string.
Source§fn header(&self) -> &ObjectHeader
fn header(&self) -> &ObjectHeader
Identity and trust header for the object; defaults to the shared
anonymous header.
Source§fn op(&self, _key: &OpKey) -> Option<&dyn Op>
fn op(&self, _key: &OpKey) -> Option<&dyn Op>
Resolve the operation registered under
key, if any.Source§impl ObjectCompat for ServerFrame
impl ObjectCompat for ServerFrame
Source§fn class(&self, cx: &mut Cx) -> Result<ClassRef>
fn class(&self, cx: &mut Cx) -> Result<ClassRef>
Class object this value belongs to; defaults to nil.
Source§fn as_expr(&self, cx: &mut Cx) -> Result<Expr>
fn as_expr(&self, cx: &mut Cx) -> Result<Expr>
Expression form of the object; defaults to an opaque extension node.
Source§fn as_table(&self, cx: &mut Cx) -> Result<Value>
fn as_table(&self, cx: &mut Cx) -> Result<Value>
Project the object into a table value; the default exposes its display.
Source§fn as_callable(&self) -> Option<&dyn Callable>
fn as_callable(&self) -> Option<&dyn Callable>
Callable view, if the object can be invoked.
Source§fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>
fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>
Object-encoder view, if the object encodes other objects.
Source§fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>
fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>
Read-constructor view, if the object decodes data forms.
Source§fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>
fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>
Number-domain view, if the object is a number domain.
Source§fn as_number_value(&self) -> Option<&dyn NumberValue>
fn as_number_value(&self) -> Option<&dyn NumberValue>
Number-value view, if the object is a domain number.
Source§fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
Eval-fabric view, if the object is a distributed eval surface.
Source§fn as_sequence(&self) -> Option<&dyn Sequence>
fn as_sequence(&self) -> Option<&dyn Sequence>
Sequence view, if the object is a sequence.
Source§fn as_list(&self) -> Option<&(dyn ListValue + 'static)>
fn as_list(&self) -> Option<&(dyn ListValue + 'static)>
List view, if the object is a list value.
Source§fn as_table_impl(&self) -> Option<&(dyn Table + 'static)>
fn as_table_impl(&self) -> Option<&(dyn Table + 'static)>
Table-implementation view, if the object is a table.
Source§fn as_dir(&self) -> Option<&(dyn Dir + 'static)>
fn as_dir(&self) -> Option<&(dyn Dir + 'static)>
Directory view, if the object is a directory.
Source§impl PartialEq for ServerFrame
impl PartialEq for ServerFrame
Source§fn eq(&self, other: &ServerFrame) -> bool
fn eq(&self, other: &ServerFrame) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ServerFrame
Auto Trait Implementations§
impl Freeze for ServerFrame
impl RefUnwindSafe for ServerFrame
impl Send for ServerFrame
impl Sync for ServerFrame
impl Unpin for ServerFrame
impl UnsafeUnpin for ServerFrame
impl UnwindSafe for ServerFrame
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