SimpleSession

Struct SimpleSession 

Source
pub struct SimpleSession { /* private fields */ }

Implementations§

Source§

impl SimpleSession

Source

pub async fn login( username: &str, password: &str, server_url: &str, ) -> Result<Self, SFError>

Creates a new SimpleSession, by logging in a normal S&F character

§Errors

Have a look at send_command for a full list of possible errors

Source

pub async fn login_sf_account( username: &str, password: &str, ) -> Result<Vec<Self>, SFError>

Creates new SimpleSessions, by logging in the S&S SSO account and returning all the characters associated with the account

§Errors

Have a look at send_command for a full list of possible errors

Source

pub fn server_url(&self) -> &Url

Returns a reference to the server URL, that this session is sending requests to

Source

pub fn username(&self) -> &str

The username of the character, that this session is responsible for

Source

pub fn has_session_id(&self) -> bool

Checks if this session has ever been able to successfully login to the server to establish a session id. You should not need to check this, as login() should return error on unsuccessful logins, but if you want to make sure, you can make sure here

Source

pub fn game_state(&self) -> Option<&GameState>

Returns a reference to the game state, if this SimpleSession is currently logged in

Source

pub fn game_state_mut(&mut self) -> Option<&mut GameState>

Returns a mutable reference to the game state, if this SimpleSession is currently logged in

Source

pub async fn send_command<T: Borrow<Command>>( &mut self, cmd: T, ) -> Result<&mut GameState, SFError>

Sends the command and updates the gamestate with the response from the server. A mutable reference to the gamestate will be returned. If an error is encountered, the gamestate is cleared and the error will be returned. If you send a command after that, this function will try to login this session again, before sending the provided command

§Errors
  • EmptyResponse: If the servers response was empty
  • InvalidRequest: If your response was invalid to send in some way
  • ConnectionError: If the command could not be send, or the response could not successfully be received
  • ParsingError: If the response from the server was unexpected in some way
  • TooShortResponse Similar to ParsingError, but specific to a response being too short, which would normally trigger a out of bound panic
  • ServerError: If the server itself responded with an ingame error like “you do not have enough silver to do that”

Trait Implementations§

Source§

impl Debug for SimpleSession

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