Connection

Struct Connection 

Source
pub struct Connection { /* private fields */ }
Expand description

Represents a single-established RCON connection to the server, which will not automatically reconnect once the connection has failed. This struct will instead opt to return IO errors, leaving connection responsibility in the callers hands.

§Example

use rercon::{Connection, Settings};

#[tokio::main]
async fn main() {
    let mut connection = Connection::open("123.456.789.123:27020", "my_secret_password", Settings::default()).await.unwrap();
    let reply = connection.exec("hello").await.unwrap();
    println!("Reply from server: {}", reply);
}

Implementations§

Source§

impl SingleConnection

Source

pub async fn open( address: impl ToSocketAddrs, pass: impl ToString, settings: Settings, ) -> Result<Self, RconError>

Opens a new RCON connection, with an optional timeout, and authenticates the connection to the remote server. If connect_timeout is set to None, a default timeout of 10 seconds will be used.

Source

pub async fn exec(&mut self, cmd: impl ToString) -> Result<String, RconError>

Sends a command to the RCON server, returning the combined reply (in case there are multiple packets) or an error.

Source

pub async fn close(self)

Closes the connection, joining any background tasks that were spawned to help manage it.

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, 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.