pub struct ManagedTargetConfig {
pub id: TargetId,
pub server_addr: String,
pub address_family: Option<AddressFamily>,
pub auth: TargetAuth,
}Expand description
Endpoint, address-family and authentication specification for one managed target.
Fields§
§id: TargetId§server_addr: String§address_family: Option<AddressFamily>Override the shared address-family policy. None inherits it.
The endpoint remains a hostname when supplied as one, so every new generation resolves it again using the effective family policy.
auth: TargetAuthImplementations§
Source§impl ManagedTargetConfig
impl ManagedTargetConfig
Sourcepub fn new(id: impl Into<TargetId>, server_addr: impl Into<String>) -> Self
pub fn new(id: impl Into<TargetId>, server_addr: impl Into<String>) -> Self
Examples found in repository?
examples/managed_client.rs (line 44)
27fn main() {
28 let config = ManagedClientConfig {
29 client: ClientConfig {
30 open: OpenPolicy {
31 timeouts: vec![Duration::from_millis(300)],
32 ..Default::default()
33 },
34 request: SessionRequest {
35 duration: None,
36 interval: Duration::from_millis(200),
37 ..Default::default()
38 },
39 ..Default::default()
40 },
41 completion: ManagedCompletionPolicy::ExplicitStop,
42 ..Default::default()
43 };
44 let targets = vec![ManagedTargetConfig::new("local", "127.0.0.1:2112")];
45
46 let (owner, mut events) = match BlockingManagedClient::start_with_subscription(config, targets)
47 {
48 Ok(started) => started,
49 Err(err) => {
50 eprintln!("failed to start managed client: {err}");
51 return;
52 }
53 };
54
55 let stop_after = Duration::from_secs(1);
56 let deadline = std::time::Instant::now() + stop_after;
57 while std::time::Instant::now() < deadline {
58 match events.try_recv() {
59 Ok(event) => print_event(&event),
60 Err(_) => std::thread::sleep(Duration::from_millis(50)),
61 }
62 }
63
64 // `stop()` requests the stop synchronously; the returned receipt is only
65 // useful for awaiting durable acknowledgement, which this blocking
66 // example does not need.
67 std::mem::drop(owner.handle().stop());
68 match owner.join() {
69 Ok(outcome) => println!("managed run ended: {:?}", outcome.end_reason),
70 Err(err) => eprintln!("managed worker did not join cleanly: {err}"),
71 }
72}Trait Implementations§
Source§impl Clone for ManagedTargetConfig
impl Clone for ManagedTargetConfig
Source§impl Debug for ManagedTargetConfig
impl Debug for ManagedTargetConfig
impl Eq for ManagedTargetConfig
Source§impl PartialEq for ManagedTargetConfig
impl PartialEq for ManagedTargetConfig
impl StructuralPartialEq for ManagedTargetConfig
Auto Trait Implementations§
impl Freeze for ManagedTargetConfig
impl RefUnwindSafe for ManagedTargetConfig
impl Send for ManagedTargetConfig
impl Sync for ManagedTargetConfig
impl Unpin for ManagedTargetConfig
impl UnsafeUnpin for ManagedTargetConfig
impl UnwindSafe for ManagedTargetConfig
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