pub struct ESME {
pub server_address: SocketAddr,
pub client_address: SocketAddr,
pub session_id: String,
pub system_id: String,
pub can_receive: bool,
/* private fields */
}Fields§
§server_address: SocketAddr§client_address: SocketAddr§session_id: String§system_id: String§can_receive: boolImplementations§
Source§impl ESME
impl ESME
Sourcepub fn deliver_sm(&self) -> DeliverSmBuilder<'_>
pub fn deliver_sm(&self) -> DeliverSmBuilder<'_>
Start building a deliver_sm to send on this session — an ergonomic
alternative to the 17-argument send_deliver_sm.
pub async fn send_deliver_sm( &self, service_type: String, source_addr_ton: u8, source_addr_npi: u8, source_addr: String, dest_addr_ton: u8, dest_addr_npi: u8, destination_addr: String, esm_class: u8, protocol_id: u8, priority_flag: u8, schedule_delivery_time: String, validity_period: String, registered_delivery: u8, replace_if_present_flag: u8, data_coding: u8, sm_default_msg_id: u8, short_message: Vec<u8>, ) -> Result<deliver_sm_resp, SmppError>
Sourcepub async fn send_deliver_sm_pdu(
&self,
deliver_sm: deliver_sm,
) -> Result<deliver_sm_resp, SmppError>
pub async fn send_deliver_sm_pdu( &self, deliver_sm: deliver_sm, ) -> Result<deliver_sm_resp, SmppError>
Send a pre-built deliver_sm and await its response.
This is the path for anything the fixed-argument
send_deliver_sm cannot express — above all
optional parameters (TLVs), which a delivery receipt needs
(receipted_message_id, message_state, network_error_code). Attach
them with deliver_sm::with_tlvs / deliver_sm::push_tlv, or use the
fluent ESME::deliver_sm builder.
The session assigns the sequence number: whatever the PDU carries is overwritten, so responses correlate against this session’s window.
pub async fn send_unbind(&self) -> Result<unbind_resp, SmppError>
pub async fn send_data_sm( &self, service_type: String, source_addr_ton: u8, source_addr_npi: u8, source_addr: String, dest_addr_ton: u8, dest_addr_npi: u8, destination_addr: String, esm_class: u8, registered_delivery: u8, data_coding: u8, ) -> Result<data_sm_resp, SmppError>
Sourcepub async fn send_data_sm_pdu(
&self,
data_sm: data_sm,
) -> Result<data_sm_resp, SmppError>
pub async fn send_data_sm_pdu( &self, data_sm: data_sm, ) -> Result<data_sm_resp, SmppError>
Send a pre-built data_sm and await its response.
data_sm has no short_message field: the message body travels in the
message_payload TLV (§4.2.2), so this is the only way to send one that
actually carries a message. Attach the TLVs with
data_sm::with_tlvs / data_sm::push_tlv.
The session assigns the sequence number: whatever the PDU carries is overwritten, so responses correlate against this session’s window.
pub async fn send_alert_notification( &self, source_addr_ton: u8, source_addr_npi: u8, source_addr: String, esme_addr_ton: u8, esme_addr_npi: u8, esme_addr: String, ms_availability_status: Option<u8>, ) -> u32
Auto Trait Implementations§
impl Freeze for ESME
impl RefUnwindSafe for ESME
impl Send for ESME
impl Sync for ESME
impl Unpin for ESME
impl UnsafeUnpin for ESME
impl UnwindSafe for ESME
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.