[−][src]Struct svc_agent::mqtt::AgentBuilder
An agent builder.
Methods
impl AgentBuilder
[src]
pub fn new(agent_id: AgentId, api_version: &str) -> Self
[src]
Creates a new AgentBuilder.
Arguments
agent_id
– AgentId to connect as.api_version
– agent's API version string.
Example
ket account_id = AccountId::new("service_name", "svc.example.org"); let agent_id = AgentId::new("instance01", account_id); let builder = AgentBuilder::new(agent_id, "v1");
pub fn connection_version(self, version: &str) -> Self
[src]
Sets a connection version.
This is different from agent's API version.
Connection version is the version of conventions that this library implements.
Currently it's v2
but if you know what you're doing you may override it.
pub fn connection_mode(self, mode: ConnectionMode) -> Self
[src]
Sets a connection mode for the agent to claim.
Connection mode defines a level a privileges an agent may use. See ConnectionMode for available modes and details.
The broker requires authorization to use the claimed mode and may refuse the connection if not authorized.
pub fn start(
self,
config: &AgentConfig
) -> Result<(Agent, Receiver<Notification>), Error>
[src]
self,
config: &AgentConfig
) -> Result<(Agent, Receiver<Notification>), Error>
Starts an MQTT client and in case of successfull connection returns a tuple containing an Agent instance and a channel receiver which one can iterate over to get incoming messages.
Example
let (agent, rx) = builder.start(&config)?; // Subscribe to requests. agent.subscribe( &Subscription::multicast_requests(Some("v1")), QoS::AtMostOnce, Some(&group), )?; // Message handling loop. for notification in rx { match notification { svc_agent::mqtt::Notification::Publish(message) => { println!( "Incoming message: {} to topic {}", message.payload.as_slice(), message.topic_name ); } _ => () } }
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for AgentBuilder
impl Send for AgentBuilder
impl Sync for AgentBuilder
impl Unpin for AgentBuilder
impl UnwindSafe for AgentBuilder
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,