pub struct DiameterMessage { /* private fields */ }Implementations§
Source§impl DiameterMessage
impl DiameterMessage
Sourcepub fn new(
command_flag: CommandFlag,
command_code: CommandCode,
application_id: ApplicationId,
hop_by_hop: u32,
end_to_end: u32,
) -> Self
pub fn new( command_flag: CommandFlag, command_code: CommandCode, application_id: ApplicationId, hop_by_hop: u32, end_to_end: u32, ) -> Self
Examples found in repository?
example/client.rs (lines 19-25)
16fn main() -> DiameterResult<()> {
17 let dict = Arc::new(Dictionary::new(&[&dictionary::DEFAULT_DICT_XML]));
18
19 let mut ccr: DiameterMessage = DiameterMessage::new(
20 CommandFlag::Request,
21 CommandCode::CreditControl,
22 ApplicationId::Gx,
23 1123158611,
24 3102381851,
25 );
26
27 ccr.add(Avp::new(263, M, None, UTF8String::from_str("a")));
28 ccr.add_avp(264, M, None, Identity::from_str("host.example.com"));
29 ccr.add(Avp::new(
30 296,
31 M,
32 None,
33 Identity::from_str("realm.example.com"),
34 ));
35 ccr.add(Avp::new(263, M, None, UTF8String::from_str("ses;12345888")));
36 ccr.add(Avp::new(416, M, None, Enumerated::new(1)));
37 ccr.add(Avp::new(415, M, None, Unsigned32::new(1000)));
38 ccr.add(Avp::new(
39 264,
40 M,
41 None,
42 Identity::from_str("host.example.com"),
43 ));
44 ccr.add(Avp::new(
45 296,
46 M,
47 None,
48 Identity::from_str("realm.example.com"),
49 ));
50 ccr.add(Avp::new(416, M, None, Enumerated::new(1)));
51 ccr.add(Avp::new(415, M, None, Unsigned32::new(1000)));
52
53 let mut client = DiameterClient::new("127.0.0.1:3868");
54 client.connect()?;
55 let cca: DiameterMessage = client.send_message(&mut ccr, dict)?;
56 client.close()?;
57 println!("{:?}", cca);
58 Ok(())
59}Sourcepub fn add(&mut self, avp: Avp)
pub fn add(&mut self, avp: Avp)
Examples found in repository?
example/client.rs (line 27)
16fn main() -> DiameterResult<()> {
17 let dict = Arc::new(Dictionary::new(&[&dictionary::DEFAULT_DICT_XML]));
18
19 let mut ccr: DiameterMessage = DiameterMessage::new(
20 CommandFlag::Request,
21 CommandCode::CreditControl,
22 ApplicationId::Gx,
23 1123158611,
24 3102381851,
25 );
26
27 ccr.add(Avp::new(263, M, None, UTF8String::from_str("a")));
28 ccr.add_avp(264, M, None, Identity::from_str("host.example.com"));
29 ccr.add(Avp::new(
30 296,
31 M,
32 None,
33 Identity::from_str("realm.example.com"),
34 ));
35 ccr.add(Avp::new(263, M, None, UTF8String::from_str("ses;12345888")));
36 ccr.add(Avp::new(416, M, None, Enumerated::new(1)));
37 ccr.add(Avp::new(415, M, None, Unsigned32::new(1000)));
38 ccr.add(Avp::new(
39 264,
40 M,
41 None,
42 Identity::from_str("host.example.com"),
43 ));
44 ccr.add(Avp::new(
45 296,
46 M,
47 None,
48 Identity::from_str("realm.example.com"),
49 ));
50 ccr.add(Avp::new(416, M, None, Enumerated::new(1)));
51 ccr.add(Avp::new(415, M, None, Unsigned32::new(1000)));
52
53 let mut client = DiameterClient::new("127.0.0.1:3868");
54 client.connect()?;
55 let cca: DiameterMessage = client.send_message(&mut ccr, dict)?;
56 client.close()?;
57 println!("{:?}", cca);
58 Ok(())
59}Sourcepub fn add_avp<T: Into<AvpValue>>(
&mut self,
code: u32,
flags: AvpFlags,
vendor_id: Option<u32>,
value: T,
)
pub fn add_avp<T: Into<AvpValue>>( &mut self, code: u32, flags: AvpFlags, vendor_id: Option<u32>, value: T, )
Examples found in repository?
example/client.rs (line 28)
16fn main() -> DiameterResult<()> {
17 let dict = Arc::new(Dictionary::new(&[&dictionary::DEFAULT_DICT_XML]));
18
19 let mut ccr: DiameterMessage = DiameterMessage::new(
20 CommandFlag::Request,
21 CommandCode::CreditControl,
22 ApplicationId::Gx,
23 1123158611,
24 3102381851,
25 );
26
27 ccr.add(Avp::new(263, M, None, UTF8String::from_str("a")));
28 ccr.add_avp(264, M, None, Identity::from_str("host.example.com"));
29 ccr.add(Avp::new(
30 296,
31 M,
32 None,
33 Identity::from_str("realm.example.com"),
34 ));
35 ccr.add(Avp::new(263, M, None, UTF8String::from_str("ses;12345888")));
36 ccr.add(Avp::new(416, M, None, Enumerated::new(1)));
37 ccr.add(Avp::new(415, M, None, Unsigned32::new(1000)));
38 ccr.add(Avp::new(
39 264,
40 M,
41 None,
42 Identity::from_str("host.example.com"),
43 ));
44 ccr.add(Avp::new(
45 296,
46 M,
47 None,
48 Identity::from_str("realm.example.com"),
49 ));
50 ccr.add(Avp::new(416, M, None, Enumerated::new(1)));
51 ccr.add(Avp::new(415, M, None, Unsigned32::new(1000)));
52
53 let mut client = DiameterClient::new("127.0.0.1:3868");
54 client.connect()?;
55 let cca: DiameterMessage = client.send_message(&mut ccr, dict)?;
56 client.close()?;
57 println!("{:?}", cca);
58 Ok(())
59}pub fn encode_to<W: Write>(&mut self, writer: &mut W) -> DiameterResult<()>
pub fn decode_from<R: Read>( reader: &mut R, dict: Arc<Dictionary>, ) -> DiameterResult<DiameterMessage>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DiameterMessage
impl RefUnwindSafe for DiameterMessage
impl Send for DiameterMessage
impl Sync for DiameterMessage
impl Unpin for DiameterMessage
impl UnwindSafe for DiameterMessage
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
Mutably borrows from an owned value. Read more