Struct apollo_client::conf::ApolloConfClient
source · [−]pub struct ApolloConfClient { /* private fields */ }This is supported on crate feature
conf only.Expand description
Apollo configuration apis client.
Implementations
pub async fn cached_fetch(
&self,
request: CachedFetchRequest
) -> ApolloClientResult<Properties>
pub async fn cached_fetch(
&self,
request: CachedFetchRequest
) -> ApolloClientResult<Properties>
通过带缓存的Http接口从Apollo读取配置。 Ref
通过不带缓存的Http接口从Apollo读取配置。 Ref
应用感知配置更新。 Ref
pub fn watch(
self,
request: WatchRequest
) -> impl Stream<Item = ApolloClientResult<HashMap<String, ApolloClientResult<FetchResponse>>>>
pub fn watch(
self,
request: WatchRequest
) -> impl Stream<Item = ApolloClientResult<HashMap<String, ApolloClientResult<FetchResponse>>>>
Watch the multi namespaces change, and fetch namespaces configuration when changed.
Return the Stream implemented futures_core::Stream, and the return value of poll_next
will never be None (Dead Loop).
The first poll_next will fetch all namespaces, the remained will only fetch changed
namespaces.
Panic
panic if request.namespace_names is empty.
Example
use apollo_client::conf::{meta::IpValue, requests::WatchRequest, ApolloConfClient};
use cidr_utils::cidr::IpCidr;
use futures_util::{pin_mut, stream::StreamExt};
use std::error::Error;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let client: ApolloConfClient = todo!();
let stream = client.watch(WatchRequest {
app_id: "SampleApp".to_string(),
namespace_names: vec![
"application.properties".into(),
"application.json".into(),
"application.yml".into(),
],
ip: Some(IpValue::HostCidr(IpCidr::from_str("172.16.0.0/16")?)),
..Default::default()
});
pin_mut!(stream);
// This is a dead loop, `next()` is returned when configuration has changed.
while let Some(response) = stream.next().await {
let _ = response?;
}
Ok(())
}Auto Trait Implementations
impl !RefUnwindSafe for ApolloConfClient
impl Send for ApolloConfClient
impl Sync for ApolloConfClient
impl Unpin for ApolloConfClient
impl !UnwindSafe for ApolloConfClient
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more