Struct sozu_command_lib::state::ConfigState
source · pub struct ConfigState {
pub clusters: BTreeMap<ClusterId, Cluster>,
pub backends: BTreeMap<ClusterId, Vec<Backend>>,
pub http_listeners: BTreeMap<String, HttpListenerConfig>,
pub https_listeners: BTreeMap<String, HttpsListenerConfig>,
pub tcp_listeners: BTreeMap<String, TcpListenerConfig>,
pub http_fronts: BTreeMap<String, HttpFrontend>,
pub https_fronts: BTreeMap<String, HttpFrontend>,
pub tcp_fronts: HashMap<ClusterId, Vec<TcpFrontend>>,
pub certificates: HashMap<SocketAddr, HashMap<Fingerprint, CertificateAndKey>>,
}
Fields§
§clusters: BTreeMap<ClusterId, Cluster>
§backends: BTreeMap<ClusterId, Vec<Backend>>
§http_listeners: BTreeMap<String, HttpListenerConfig>
§https_listeners: BTreeMap<String, HttpsListenerConfig>
§tcp_listeners: BTreeMap<String, TcpListenerConfig>
§http_fronts: BTreeMap<String, HttpFrontend>
HTTP frontends, indexed by a summary of each front’s address;hostname;path, for uniqueness.
For example: "0.0.0.0:8080;lolcatho.st;P/api"
https_fronts: BTreeMap<String, HttpFrontend>
indexed by (address, hostname, path)
tcp_fronts: HashMap<ClusterId, Vec<TcpFrontend>>
§certificates: HashMap<SocketAddr, HashMap<Fingerprint, CertificateAndKey>>
Implementations§
source§impl ConfigState
impl ConfigState
pub fn new() -> Self
pub fn dispatch(&mut self, request: &Request) -> Result<()>
pub fn generate_requests(&self) -> Vec<Request>
pub fn generate_activate_requests(&self) -> Vec<Request>
pub fn diff(&self, other: &ConfigState) -> Vec<Request>
pub fn hash_state(&self) -> BTreeMap<ClusterId, u64>
sourcepub fn cluster_state(&self, cluster_id: &str) -> ClusterInformation
pub fn cluster_state(&self, cluster_id: &str) -> ClusterInformation
Gives details about a given cluster.
Types like HttpFrontend
are converted into protobuf ones, like RequestHttpFrontend
pub fn count_backends(&self) -> usize
pub fn count_frontends(&self) -> usize
pub fn get_cluster_ids_by_domain( &self, hostname: String, path: Option<String> ) -> HashSet<ClusterId>
pub fn get_certificate( &self, fingerprint: &[u8] ) -> Option<CertificateWithNames>
Trait Implementations§
source§impl Clone for ConfigState
impl Clone for ConfigState
source§fn clone(&self) -> ConfigState
fn clone(&self) -> ConfigState
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ConfigState
impl Debug for ConfigState
source§impl Default for ConfigState
impl Default for ConfigState
source§fn default() -> ConfigState
fn default() -> ConfigState
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for ConfigState
impl<'de> Deserialize<'de> for ConfigState
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq<ConfigState> for ConfigState
impl PartialEq<ConfigState> for ConfigState
source§fn eq(&self, other: &ConfigState) -> bool
fn eq(&self, other: &ConfigState) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for ConfigState
impl Serialize for ConfigState
impl Eq for ConfigState
impl StructuralEq for ConfigState
impl StructuralPartialEq for ConfigState
Auto Trait Implementations§
impl RefUnwindSafe for ConfigState
impl Send for ConfigState
impl Sync for ConfigState
impl Unpin for ConfigState
impl UnwindSafe for ConfigState
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
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.