Connection

Struct Connection 

Source
pub struct Connection(/* private fields */);
Expand description

A connection to the steam server

Implementations§

Source§

impl Connection

Source

pub async fn anonymous( server_list: &ServerList, ) -> Result<Self, ConnectionError>

Start an anonymous client session on a new connection

Source

pub async fn anonymous_server( server_list: &ServerList, ) -> Result<Self, ConnectionError>

Start an anonymous server session on a new connection

Source

pub async fn login<H: AuthConfirmationHandler, G: GuardDataStore>( server_list: &ServerList, account: &str, password: &str, guard_data_store: G, confirmation_handler: H, ) -> Result<Self, ConnectionError>

Start a client session on a new connection

Source

pub async fn access( server_list: &ServerList, account: &str, access_token: &str, ) -> Result<Self, ConnectionError>

Source

pub fn access_token(&self) -> Option<&str>

Source

pub fn steam_id(&self) -> SteamID

Source

pub fn session_id(&self) -> i32

Source

pub fn cell_id(&self) -> u32

Source

pub fn public_ip(&self) -> Option<IpAddr>

Source

pub fn ip_country_code(&self) -> Option<String>

Source

pub fn set_timeout(&mut self, timeout: Duration)

Source

pub fn take_unprocessed(&self) -> Vec<RawNetMessage>

Get all messages that haven’t been filtered by any of the filters

Note that at most 32 unprocessed connections are stored and calling this method clears the buffer

Source§

impl Connection

Source

pub async fn game_coordinator<Handshake: GCHandshake>( &self, handshake: &Handshake, ) -> Result<(GameCoordinator, Handshake::Welcome), NetworkError>

Create new GameCoordinator instance using this connection

Trait Implementations§

Source§

impl Clone for Connection

Source§

fn clone(&self) -> Connection

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Connection

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<C> ConnectionTrait for C
where C: ConnectionImpl,

Source§

fn on_notification<T>( &self, ) -> impl Stream<Item = Result<T, NetworkError>> + 'static

Listen for notification messages from steam
Source§

fn one_with_header<T>( &self, ) -> impl Future<Output = Result<(NetMessageHeader, T), NetworkError>> + 'static
where T: NetMessage + 'static,

Wait for one message of a specific kind, also returning the header
Source§

fn one<T>(&self) -> impl Future<Output = Result<T, NetworkError>> + 'static
where T: NetMessage + 'static,

Wait for one message of a specific kind
Source§

fn on_with_header<T>( &self, ) -> impl Stream<Item = Result<(NetMessageHeader, T), NetworkError>> + 'static
where T: NetMessage + 'static,

Listen to messages of a specific kind, also returning the header
Source§

fn on<T>(&self) -> impl Stream<Item = Result<T, NetworkError>> + 'static
where T: NetMessage + 'static,

Listen to messages of a specific kind
Source§

async fn service_method<Msg>( &self, msg: Msg, ) -> Result<<Msg as ServiceMethodRequest>::Response, NetworkError>

Send a rpc-request to steam, waiting for the matching rpc-response
Source§

async fn job<Msg, Rsp>(&self, msg: Msg) -> Result<Rsp, NetworkError>
where Msg: NetMessage, Rsp: NetMessage,

Send a message to steam, waiting for a response with the same job id
Source§

fn job_multi<Msg, Rsp>( &self, msg: Msg, ) -> impl Stream<Item = Result<Rsp, NetworkError>> + Send
where Msg: NetMessage, Rsp: NetMessage + JobMultiple,

Send a message to steam, receiving responses until the response marks that the response is complete
Source§

fn send<Msg>( &self, msg: Msg, ) -> impl Future<Output = Result<(), NetworkError>> + Send
where Msg: NetMessage,

Send a message to steam without waiting for a response
Source§

fn send_with_kind<Msg, K>( &self, msg: Msg, kind: K, ) -> impl Future<Output = Result<(), NetworkError>> + Send
where Msg: NetMessage, K: MsgKindEnum,

Send a message to steam without waiting for a response, overwriting the kind of the message
Source§

fn raw_send<Msg>( &self, header: NetMessageHeader, msg: Msg, ) -> impl Future<Output = Result<(), NetworkError>> + Send
where Msg: NetMessage,

Send a message to steam without waiting for a response, with a customized header↑
Source§

fn raw_send_with_kind<Msg, K>( &self, header: NetMessageHeader, msg: Msg, kind: K, is_protobuf: bool, ) -> impl Future<Output = Result<(), NetworkError>> + Send

Send a message to steam without waiting for a response, with a customized header↑ and overwriting the kind of the message
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,