Struct veloren_query_server::proto::Init
source · pub(crate) struct Init {
pub p: u64,
pub max_supported_version: u16,
}
Fields§
§p: u64
This is used as a challenge to prevent IP address spoofing by verifying that the client can receive from the source address.
Any request to the server must include this value to be processed, otherwise this response will be returned (giving clients a value to pass for later requests).
max_supported_version: u16
The maximum supported protocol version by the server. The first request to a server must always be done in the V0 protocol to query this value. Following requests (when the version is known), can be done in the maximum version or below, responses will be sent in the same version as the requests.
Trait Implementations§
source§impl Parcel for Init
impl Parcel for Init
source§fn read_field(
__io_reader: &mut dyn Read,
__settings: &Settings,
_: &mut Hints,
) -> Result<Self>
fn read_field( __io_reader: &mut dyn Read, __settings: &Settings, _: &mut Hints, ) -> Result<Self>
Reads a value from a stream. Read more
source§fn write_field(
&self,
__io_writer: &mut dyn Write,
__settings: &Settings,
_: &mut Hints,
) -> Result<()>
fn write_field( &self, __io_writer: &mut dyn Write, __settings: &Settings, _: &mut Hints, ) -> Result<()>
Writes a value to a stream.
§fn read(read: &mut dyn Read, settings: &Settings) -> Result<Self, Error>
fn read(read: &mut dyn Read, settings: &Settings) -> Result<Self, Error>
Reads a new item with a fresh set of hints. Read more
§fn write(&self, write: &mut dyn Write, settings: &Settings) -> Result<(), Error>
fn write(&self, write: &mut dyn Write, settings: &Settings) -> Result<(), Error>
Writes a value to a stream.
§fn into_stream(self, settings: &Settings) -> Result<Cursor<Vec<u8>>, Error>
fn into_stream(self, settings: &Settings) -> Result<Cursor<Vec<u8>>, Error>
Convers the value into a byte stream that implements
std::io::Read
.§fn from_raw_bytes(bytes: &[u8], settings: &Settings) -> Result<Self, Error>
fn from_raw_bytes(bytes: &[u8], settings: &Settings) -> Result<Self, Error>
Parses a new value from its raw byte representation. Read more
§fn field_from_raw_bytes(
bytes: &[u8],
settings: &Settings,
hints: &mut Hints,
) -> Result<Self, Error>
fn field_from_raw_bytes( bytes: &[u8], settings: &Settings, hints: &mut Hints, ) -> Result<Self, Error>
Parses a new value from its raw byte representation. Read more
§fn raw_bytes(&self, settings: &Settings) -> Result<Vec<u8>, Error>
fn raw_bytes(&self, settings: &Settings) -> Result<Vec<u8>, Error>
Gets the raw byte representation of the value.
§fn raw_bytes_field(
&self,
settings: &Settings,
hints: &mut Hints,
) -> Result<Vec<u8>, Error>
fn raw_bytes_field( &self, settings: &Settings, hints: &mut Hints, ) -> Result<Vec<u8>, Error>
Gets the raw bytes of this type as a field of a larger type.
impl Copy for Init
Auto Trait Implementations§
impl Freeze for Init
impl RefUnwindSafe for Init
impl Send for Init
impl Sync for Init
impl Unpin for Init
impl UnwindSafe for Init
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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