diff options
| author | MatthieuCoder <matthieu@matthieu-dev.xyz> | 2022-12-31 22:48:40 +0400 | 
|---|---|---|
| committer | MatthieuCoder <matthieu@matthieu-dev.xyz> | 2022-12-31 22:48:40 +0400 | 
| commit | 46fd26962ef55f8b557f7e36d3aee915a819c88c (patch) | |
| tree | 18038653ee532831aca0000afa7849924c2c63cc /exes/gateway | |
| parent | 0fcc68291a5f7526dbeffe33f4a84a649200e847 (diff) | |
add base of cache component
Diffstat (limited to 'exes/gateway')
| -rw-r--r-- | exes/gateway/Cargo.toml | 3 | ||||
| -rw-r--r-- | exes/gateway/src/main.rs | 10 | 
2 files changed, 8 insertions, 5 deletions
diff --git a/exes/gateway/Cargo.toml b/exes/gateway/Cargo.toml index 27269c1..7ef3d98 100644 --- a/exes/gateway/Cargo.toml +++ b/exes/gateway/Cargo.toml @@ -10,4 +10,5 @@ twilight-gateway = { version = "0.14" }  twilight-model = "0.14"  serde = { version = "1.0.8", features = ["derive"] }  futures = "0.3" -serde_json = { version = "1.0" }
\ No newline at end of file +serde_json = { version = "1.0" } +bytes = "*"
\ No newline at end of file diff --git a/exes/gateway/src/main.rs b/exes/gateway/src/main.rs index 93ca022..6968fe4 100644 --- a/exes/gateway/src/main.rs +++ b/exes/gateway/src/main.rs @@ -2,7 +2,7 @@ use config::Config;  use shared::{      config::Settings,      log::{debug, info}, -    nats_crate::Connection, +    nats_crate::Client,      payloads::{CachePayload, DispatchEventTagged, Tracing},  };  use std::{convert::TryFrom, error::Error}; @@ -15,7 +15,7 @@ use twilight_model::gateway::event::DispatchEvent;  async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {      let settings: Settings<Config> = Settings::new("gateway").unwrap();      let (shard, mut events) = Shard::new(settings.config.token, settings.config.intents); -    let nats: Connection = settings.nats.into(); +    let nats: Client = settings.nats.to_client().await?;      shard.start().await?; @@ -26,7 +26,7 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {              }              _ => { -                let name = event.kind().name().unwrap(); +                let name = event.kind().name();                  if let Ok(dispatch_event) = DispatchEvent::try_from(event) {                      let data = CachePayload {                          tracing: Tracing { @@ -39,7 +39,9 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync>> {                      };                      let value = serde_json::to_string(&data)?;                      debug!("nats send: {}", value); -                    nats.publish(&format!("nova.cache.dispatch.{}", name), value)?; +                    let bytes = bytes::Bytes::from(value); +                    nats.publish(format!("nova.cache.dispatch.{}", name.unwrap()), bytes) +                        .await?;                  }              }          }  | 
