pub struct L7LoadBalancer { /* private fields */ }Expand description
L7 Load Balancer implementation.
Implementations§
Source§impl L7LoadBalancer
impl L7LoadBalancer
Sourcepub fn add_backend_group(&mut self, group: BackendGroup)
pub fn add_backend_group(&mut self, group: BackendGroup)
Add a backend group.
Sourcepub fn route_request(
&mut self,
path: &str,
host: &str,
headers: &BTreeMap<String, String>,
) -> Result<(String, u16), L7Error>
pub fn route_request( &mut self, path: &str, host: &str, headers: &BTreeMap<String, String>, ) -> Result<(String, u16), L7Error>
Route an HTTP request to a backend.
Sourcepub fn check_rate_limit(
&mut self,
client_id: &str,
current_tick: u64,
) -> Result<(), L7Error>
pub fn check_rate_limit( &mut self, client_id: &str, current_tick: u64, ) -> Result<(), L7Error>
Check rate limit for a client.
Sourcepub fn get_sticky_backend(&self, session_id: &str) -> Option<usize>
pub fn get_sticky_backend(&self, session_id: &str) -> Option<usize>
Get sticky backend for a session.
Sourcepub fn set_sticky_backend(&mut self, session_id: String, backend_idx: usize)
pub fn set_sticky_backend(&mut self, session_id: String, backend_idx: usize)
Set sticky backend for a session.
Sourcepub fn backend_group_count(&self) -> usize
pub fn backend_group_count(&self) -> usize
Get the number of backend groups.
Sourcepub fn rule_count(&self) -> usize
pub fn rule_count(&self) -> usize
Get the number of routing rules.