Struct libqaul::Qaul [−][src]
Primary context structure for libqaul
Handles user state, secret storage, network state,
I/O and services. Check api
for the extended
service API
Bootstrapping
Starting an instance of libqaul
requires several steps.
For one, it needs to be initialised with a valid config
for the routing-layer (RATMAN
). This requires choosing
of network backends and client configuration.
Secondly, libqaul
by itself does very little, except handle
service requests. The service API exposes various workloads
available, but the consuming services also need to be configured,
externally to libqaul
and this instance.
A bootstrapping procedure should thus look as follows:
- RATMAN + netmod initialisation
libqaul
startup (this struct, callnew(...)
)- Initialise services with a
libqaul
instance reference - Your application is now ready for use
Implementations
impl Qaul
[src]
pub fn new(router: Arc<Router>) -> QaulRef
[src]
Create new qaul context, with pre-initialised Router
This function sets up discovery and API handler threads, as well as local storage. Stopping a qaul instance is currently not possible (woops). This call is non-blocking and assumes that the main thread will take over execution of some other application loop so to enable further API abstractions to hook into the service API.
pub fn messages(&self) -> Messages<'_>
[src]
Get messages function scope
pub fn users(&self) -> Users<'_>
[src]
Get users function scope
pub fn contacts(&self) -> Contacts<'_>
[src]
Get contact book function scope
pub fn services(&self) -> Services<'_>
[src]
Get service management function scope
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Qaul
impl Send for Qaul
impl Sync for Qaul
impl Unpin for Qaul
impl !UnwindSafe for Qaul
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
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.
pub 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.
pub 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>,
pub fn vzip(self) -> V
impl<T> WithSubscriber for T
[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,