Struct spaceapi_server::SpaceapiServerBuilder
source · pub struct SpaceapiServerBuilder { /* private fields */ }
Expand description
Builder to create a new SpaceapiServer
instance.
Implementations§
source§impl SpaceapiServerBuilder
impl SpaceapiServerBuilder
sourcepub fn new(status: Status) -> SpaceapiServerBuilder
pub fn new(status: Status) -> SpaceapiServerBuilder
Create a new builder instance based on the provided static status data.
sourcepub fn redis_connection_info<R: IntoConnectionInfo>(
self,
redis_connection_info: R
) -> Self
pub fn redis_connection_info<R: IntoConnectionInfo>( self, redis_connection_info: R ) -> Self
Specify a Redis connection string.
This can be any object that implements
redis::IntoConnectionInfo
,
e.g. a connection string:
...
.redis_connection_info("redis://127.0.0.1/")
...
sourcepub fn redis_pool(self, redis_pool: Pool<Client>) -> Self
pub fn redis_pool(self, redis_pool: Pool<Client>) -> Self
Use this as an alternative to
redis_connection_info
if you want to initialize the Redis connection pool yourself, to have
full control over the connection parameters.
See
examples/with_custom_redis_pool.rs
for a real example.
sourcepub fn add_status_modifier<M: StatusModifier + 'static>(
self,
modifier: M
) -> Self
pub fn add_status_modifier<M: StatusModifier + 'static>( self, modifier: M ) -> Self
Add a status modifier, that modifies the status dynamically per request.
This can be an instance of
modifiers::StateFromPeopleNowPresent
,
or your own implementation that uses the dynamic sensor data and/or
external data.
sourcepub fn add_sensor<T: SensorTemplate + 'static>(
self,
template: T,
data_key: String
) -> Self
pub fn add_sensor<T: SensorTemplate + 'static>( self, template: T, data_key: String ) -> Self
Add a new sensor.
The first argument is a api::SensorTemplate
instance containing all static data.
The second argument specifies how to get the actual sensor value from Redis.
sourcepub fn build(self) -> Result<SpaceapiServer, SpaceapiServerError>
pub fn build(self) -> Result<SpaceapiServer, SpaceapiServerError>
Build a server instance.
This can fail if not all required data has been provided.
Auto Trait Implementations§
impl !RefUnwindSafe for SpaceapiServerBuilder
impl Send for SpaceapiServerBuilder
impl Sync for SpaceapiServerBuilder
impl Unpin for SpaceapiServerBuilder
impl !UnwindSafe for SpaceapiServerBuilder
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
§impl<T> PersistentInto<Arc<Mutex<T>, Global>> for T
impl<T> PersistentInto<Arc<Mutex<T>, Global>> for T
§fn persistent_into(self) -> Arc<Mutex<T>, Global>
fn persistent_into(self) -> Arc<Mutex<T>, Global>
self
into a value of type T
.§impl<T> PersistentInto<Arc<RwLock<T>, Global>> for T
impl<T> PersistentInto<Arc<RwLock<T>, Global>> for T
§fn persistent_into(self) -> Arc<RwLock<T>, Global>
fn persistent_into(self) -> Arc<RwLock<T>, Global>
self
into a value of type T
.§impl<T> PersistentInto<Arc<T, Global>> for T
impl<T> PersistentInto<Arc<T, Global>> for T
§fn persistent_into(self) -> Arc<T, Global>
fn persistent_into(self) -> Arc<T, Global>
self
into a value of type T
.§impl<T> PersistentInto<T> for T
impl<T> PersistentInto<T> for T
§fn persistent_into(self) -> T
fn persistent_into(self) -> T
self
into a value of type T
.