1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
use std::net::SocketAddr;

use crate::core::packet::Packet;

/// RADIUS request object.
pub struct Request {
    local_addr: SocketAddr,
    remote_addr: SocketAddr,
    packet: Packet,
}

impl Request {
    pub fn new(local_addr: SocketAddr, remote_addr: SocketAddr, packet: Packet) -> Self {
        Self {
            local_addr,
            remote_addr,
            packet,
        }
    }

    pub fn get_local_addr(&self) -> SocketAddr {
        self.local_addr
    }

    pub fn get_remote_addr(&self) -> SocketAddr {
        self.remote_addr
    }

    pub fn get_packet(&self) -> &Packet {
        &self.packet
    }
}