pub struct Provide {
pub spec: MirrorSpec,
pub host: bool,
pub family: bool,
}Expand description
Makes the caller mirror spec’s provider. It answers the mirror’s own
address (spec.name) with a Write whenever fields are due; host:
the game’s own mirrors, first for every fact they write. The answer is
what’s wrong, if anything.
Fields§
§spec: MirrorSpec§host: bool§family: boolIts space is a family: a member each parameter
(<space>/<parameter>), made when it’s first named, with this
mirror in it as <name>/<parameter>.
Trait Implementations§
Source§impl Schema for Provide
impl Schema for Provide
Source§fn encode(&self, __yog_w: &mut Writer)
fn encode(&self, __yog_w: &mut Writer)
Writes itself in the binary form, straight —
Schema::write’s
value encoded, unless the type knows better (derived ones do).Source§fn decode(__yog_d: &mut Decoder<'_>) -> Option<Provide>
fn decode(__yog_d: &mut Decoder<'_>) -> Option<Provide>
Reads itself from the binary form, straight;
None when it isn’t
what Schema::encode writes — then read_bytes reads the slow
way, which says what’s wrong. Through a value unless the type knows
better (derived ones do).Source§fn pack(&self, __yog_p: &mut Packer)
fn pack(&self, __yog_p: &mut Packer)
Packs itself into a frame (
crate::frame): its binary form as
bytes, unless the type packs itself (derived ones and plain types do).Source§fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<Provide>
fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<Provide>
Reads itself out of a frame;
None if the bytes aren’t what
Schema::pack writes.Source§fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Provide>
fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Provide>
Reads
v. Problems go to cx at its current path; None when the
value couldn’t be read (the problem is in cx).Source§fn absent() -> Option<Self>
fn absent() -> Option<Self>
The value of a field that isn’t there —
None: the field is required.Source§fn pack_list(items: &[Self], p: &mut Packer)
fn pack_list(items: &[Self], p: &mut Packer)
A list of these packed: a count, then each one (floats raw).
Source§fn encode_list(items: &[Self], w: &mut Writer)
fn encode_list(items: &[Self], w: &mut Writer)
A list of these written straight (numbers pack theirs).
Source§impl Service for Provide
impl Service for Provide
Source§const KEY: Option<&'static str> = None
const KEY: Option<&'static str> = None
The field whose value picks the provider’s branch (
block_id: each
block answers its own), if it’s keyed — see crate::keyed.Source§type Reply = Option<Diagnostic>
type Reply = Option<Diagnostic>
What the provider answers.
Source§fn address(&self) -> u32
fn address(&self) -> u32
Service::target’s number — the type’s own address cached.Auto Trait Implementations§
impl Freeze for Provide
impl RefUnwindSafe for Provide
impl Send for Provide
impl Sync for Provide
impl Unpin for Provide
impl UnsafeUnpin for Provide
impl UnwindSafe for Provide
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Message for Twhere
T: Schema,
impl<T> Message for Twhere
T: Schema,
Source§fn from_bytes(bytes: &[u8]) -> Option<Self>
fn from_bytes(bytes: &[u8]) -> Option<Self>
The message read from a payload;
None if it isn’t one.Source§fn with_bytes<R>(&self, f: impl FnOnce(&[u8]) -> R) -> R
fn with_bytes<R>(&self, f: impl FnOnce(&[u8]) -> R) -> R
f on the payload, packed in this thread’s reused buffers: nothing
allocated once they’ve grown to the thread’s messages.