Client

Struct Client 

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

SMPP Client.

The client is a handle to communicate with the SMPP server through a managed connection in the background.

Implementations§

Source§

impl Client

Source

pub fn builder() -> ConnectionBuilder

Creates a new SMPP connection builder.

See ConnectionBuilder::new for more details.

Source

pub async fn bind_transmitter( &self, bind: impl Into<BindTransmitter>, ) -> Result<BindTransmitterResp, Error>

Sends a BindTransmitter command to the server and waits for a successful BindTransmitterResp.

Source

pub async fn bind_receiver( &self, bind: impl Into<BindReceiver>, ) -> Result<BindReceiverResp, Error>

Sends a BindReceiver command to the server and waits for a successful BindReceiverResp.

Source

pub async fn bind_transceiver( &self, bind: impl Into<BindTransceiver>, ) -> Result<BindTransceiverResp, Error>

Sends a BindTransceiver command to the server and waits for a successful BindTransceiverResp.

Source

pub async fn submit_sm( &self, submit_sm: impl Into<SubmitSm>, ) -> Result<SubmitSmResp, Error>

Sends a SubmitSm command to the server and waits for a successful SubmitSmResp.

Source

pub async fn deliver_sm_resp( &self, sequence_number: u32, deliver_sm_resp: impl Into<DeliverSmResp>, ) -> Result<(), Error>

Sends a DeliverSmResp command to the server.

Source

pub async fn unbind(&self) -> Result<(), Error>

Sends an Unbind command to the server and waits for a successful UnbindResp.

Source

pub async fn unbind_resp(&self, sequence_number: u32) -> Result<(), Error>

Sends an UnbindResp command to the server.

Sends an EnquireLink command to the server and waits for a successful EnquireLinkResp.

Sends an EnquireLinkResp command to the server.

Source

pub async fn generic_nack(&self, sequence_number: u32) -> Result<(), Error>

Sends a GenericNack command to the server.

Source

pub async fn close(&self) -> Result<(), Error>

Closes the connection.

This method completes, when the connection has registered the close request. The connection will stop reading from the server, stop time keeping, close the requests channel, flush pending requests and terminate.

After calling this method, clients can no longer send requests to the server.

Source

pub fn is_closed(&self) -> bool

Checks if the connection is closed.

§Note

If the connection is not closed, this does not mean that it is active. The connection may be in the process of closing.

To check if the connection is active, use Client::is_active().

Source

pub async fn closed(&self)

Completes when the connection is closed.

Source

pub async fn close_and_wait(&self) -> Result<(), Error>

Closes the connection and waits for it to terminate.

Source

pub fn is_active(&self) -> bool

Checks if the connection is active.

The connection is considered active if:

  • Client::close() was never called.
  • The connection did not encounter an error.
  • The connection can receive requests form the client.
§Note

If the connection is not active, this does not mean that it is closed. The connection may be in the process of closing.

To check if the connection is closed, use Client::is_closed().

Source

pub async fn pending_responses(&self) -> Result<Vec<u32>, Error>

Returns a vector of pending responses.

Source

pub const fn status( &self, status: CommandStatus, ) -> UnregisteredRequestBuilder<'_>

Sets the command status for the next request.

Source

pub fn response_timeout( &self, timeout: Duration, ) -> RegisteredRequestBuilder<'_>

Sets the response timeout for the next request.

Source

pub fn no_response_timeout(&self) -> RegisteredRequestBuilder<'_>

Disables the response timeout for the next request.

Source

pub const fn no_wait(&self) -> NoWaitRequestBuilder<'_>

Sends a request without waiting for a response.

Trait Implementations§

Source§

impl Clone for Client

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Client

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Client

§

impl RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl UnwindSafe for Client

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

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

§

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
§

impl<T> From<T> for T

§

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
§

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

§

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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

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

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

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

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

Uses borrowed data to replace owned data, usually by cloning. Read more
§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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,