Rename functions, add observe_and_into_inner

This commit is contained in:
bitfl0wer 2023-08-16 01:11:26 +02:00
parent a9381fec1e
commit 5f0f19e8ce
1 changed files with 11 additions and 2 deletions

View File

@ -201,7 +201,7 @@ impl GatewayHandle {
.unwrap();
}
pub async fn observe<T: Updateable + Clone + Composite<T>>(
pub async fn observer_channel<T: Updateable + Clone + Composite<T>>(
&self,
object: Arc<RwLock<T>>,
) -> watch::Receiver<Arc<RwLock<T>>> {
@ -235,11 +235,20 @@ impl GatewayHandle {
&self,
object: Arc<RwLock<T>>,
) -> Arc<RwLock<T>> {
let channel = self.observe(object.clone()).await;
let channel = self.observer_channel(object.clone()).await;
let object = channel.borrow().clone();
object
}
pub async fn observe_and_into_inner<T: Updateable + Clone + Composite<T>>(
&self,
object: Arc<RwLock<T>>,
) -> T {
let channel = self.observer_channel(object.clone()).await;
let object = channel.borrow().clone().read().unwrap().clone();
object
}
/// Sends an identify event to the gateway
pub async fn send_identify(&self, to_send: types::GatewayIdentifyPayload) {
let to_send_value = serde_json::to_value(&to_send).unwrap();