Struct ServerQueryResponse

Source
pub struct ServerQueryResponse {
    pub len: VarInt,
    pub packet_id: VarInt,
    pub json_len: VarInt,
    pub json: String,
}
Expand description

Represents the server’s response to a status query.

Contains the raw JSON string with server information.

Fields§

§len: VarInt

Length of the entire response packet.

§packet_id: VarInt

Packet ID (should be 0x00).

§json_len: VarInt

Length of the JSON string.

§json: String

JSON string with server status information.

Implementations§

Source§

impl ServerQueryResponse

Source

pub async fn from(bytes: &[u8]) -> ServerQueryResponse

Parses a ServerQueryResponse from raw bytes.

Reads VarInts for lengths and packet IDs, then extracts the JSON string.

§Panics

If the byte slice is too short or malformed, this may panic.

Source

pub fn parse_status(&self) -> Result<ServerStatus>

Parses the JSON string into a strongly-typed ServerStatus struct.

Returns an error if JSON deserialization fails.

§Example
let response = ServerQueryResponse::from(&bytes);
let status = response.parse_status()?;

Trait Implementations§

Source§

impl Debug for ServerQueryResponse

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.