Remove actix actor dependency
This commit is contained in:
		
							parent
							
								
									a51bed3cc4
								
							
						
					
					
						commit
						d3e3a13997
					
				
					 6 changed files with 28 additions and 80 deletions
				
			
		
							
								
								
									
										64
									
								
								Cargo.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										64
									
								
								Cargo.lock
									
										
									
										generated
									
									
									
								
							|  | @ -26,31 +26,6 @@ dependencies = [ | ||||||
|  "syn", |  "syn", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "actix" |  | ||||||
| version = "0.10.0-alpha.2" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "54fb3bae2fcef0d8edbbf223ea187da5b6313e1bc6eb9494720b81bff9137d26" |  | ||||||
| dependencies = [ |  | ||||||
|  "actix-rt", |  | ||||||
|  "actix_derive", |  | ||||||
|  "bitflags", |  | ||||||
|  "bytes", |  | ||||||
|  "crossbeam-channel", |  | ||||||
|  "derive_more", |  | ||||||
|  "futures-channel", |  | ||||||
|  "futures-util", |  | ||||||
|  "lazy_static", |  | ||||||
|  "log", |  | ||||||
|  "parking_lot", |  | ||||||
|  "pin-project", |  | ||||||
|  "smallvec", |  | ||||||
|  "tokio", |  | ||||||
|  "tokio-util 0.2.0", |  | ||||||
|  "trust-dns-proto", |  | ||||||
|  "trust-dns-resolver", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "actix-codec" | name = "actix-codec" | ||||||
| version = "0.2.0" | version = "0.2.0" | ||||||
|  | @ -330,17 +305,6 @@ dependencies = [ | ||||||
|  "thiserror", |  "thiserror", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "actix_derive" |  | ||||||
| version = "0.5.0" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "b95aceadaf327f18f0df5962fedc1bde2f870566a0b9f65c89508a3b1f79334c" |  | ||||||
| dependencies = [ |  | ||||||
|  "proc-macro2", |  | ||||||
|  "quote", |  | ||||||
|  "syn", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "adler32" | name = "adler32" | ||||||
| version = "1.0.4" | version = "1.0.4" | ||||||
|  | @ -480,11 +444,10 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "background-jobs-actix" | name = "background-jobs-actix" | ||||||
| version = "0.8.0-alpha.1" | version = "0.8.0-alpha.2" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "2bb7f892dcd3ee34aab169d60587232d47aa054e4401c3067a64a6871eda806a" | checksum = "d012b9293806c777f806b537e04b5eec34ecd6eaf876c52792017695ce53262f" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "actix", |  | ||||||
|  "actix-rt", |  "actix-rt", | ||||||
|  "anyhow", |  "anyhow", | ||||||
|  "async-trait", |  "async-trait", | ||||||
|  | @ -502,11 +465,11 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "background-jobs-core" | name = "background-jobs-core" | ||||||
| version = "0.8.0-alpha.1" | version = "0.8.0-alpha.2" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "fa1b993ad1d58fd073cf19fac0d7bcc9772881e0568c59f011cd2aa513f587ab" | checksum = "bd5efe91c019d7780d5a2fc2f92a15e1f95b84a761428e1d1972b7428634ebc7" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "actix", |  "actix-rt", | ||||||
|  "anyhow", |  "anyhow", | ||||||
|  "async-trait", |  "async-trait", | ||||||
|  "chrono", |  "chrono", | ||||||
|  | @ -750,16 +713,6 @@ dependencies = [ | ||||||
|  "cfg-if", |  "cfg-if", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "crossbeam-channel" |  | ||||||
| version = "0.4.2" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "cced8691919c02aac3cb0a1bc2e9b73d89e832bf9a06fc579d4e71b68a2da061" |  | ||||||
| dependencies = [ |  | ||||||
|  "crossbeam-utils", |  | ||||||
|  "maybe-uninit", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "crossbeam-queue" | name = "crossbeam-queue" | ||||||
| version = "0.2.1" | version = "0.2.1" | ||||||
|  | @ -1453,12 +1406,6 @@ version = "0.1.8" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" | checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "maybe-uninit" |  | ||||||
| version = "2.0.0" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "md5" | name = "md5" | ||||||
| version = "0.7.0" | version = "0.7.0" | ||||||
|  | @ -1966,7 +1913,6 @@ name = "relay" | ||||||
| version = "0.1.0" | version = "0.1.0" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "activitystreams", |  "activitystreams", | ||||||
|  "actix", |  | ||||||
|  "actix-rt", |  "actix-rt", | ||||||
|  "actix-web", |  "actix-web", | ||||||
|  "actix-webfinger", |  "actix-webfinger", | ||||||
|  |  | ||||||
|  | @ -14,7 +14,6 @@ build = "src/build.rs" | ||||||
| 
 | 
 | ||||||
| [dependencies] | [dependencies] | ||||||
| anyhow = "1.0" | anyhow = "1.0" | ||||||
| actix = "0.10.0-alpha.2" |  | ||||||
| actix-rt = "1.0.0" | actix-rt = "1.0.0" | ||||||
| actix-web = { version = "3.0.0-alpha.1", features = ["rustls"] } | actix-web = { version = "3.0.0-alpha.1", features = ["rustls"] } | ||||||
| actix-webfinger = "0.3.0-alpha.6" | actix-webfinger = "0.3.0-alpha.6" | ||||||
|  |  | ||||||
|  | @ -283,10 +283,10 @@ impl ActorCache { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     fn spawn_rehydrate(&self) { |     fn spawn_rehydrate(&self) { | ||||||
|         use actix::clock::{interval_at, Instant}; |         use actix_rt::time::{interval_at, Instant}; | ||||||
| 
 | 
 | ||||||
|         let this = self.clone(); |         let this = self.clone(); | ||||||
|         actix::spawn(async move { |         actix_rt::spawn(async move { | ||||||
|             let mut interval = interval_at(Instant::now(), Duration::from_secs(60 * 10)); |             let mut interval = interval_at(Instant::now(), Duration::from_secs(60 * 10)); | ||||||
| 
 | 
 | ||||||
|             loop { |             loop { | ||||||
|  |  | ||||||
|  | @ -6,14 +6,17 @@ use crate::{ | ||||||
|     requests::Requests, |     requests::Requests, | ||||||
| }; | }; | ||||||
| use activitystreams::primitives::XsdAnyUri; | use activitystreams::primitives::XsdAnyUri; | ||||||
| use actix::clock::{interval_at, Duration, Instant}; | use actix_rt::{ | ||||||
|  |     spawn, | ||||||
|  |     time::{interval_at, Instant}, | ||||||
|  | }; | ||||||
| use actix_web::web; | use actix_web::web; | ||||||
| use futures::{join, try_join}; | use futures::{join, try_join}; | ||||||
| use log::{error, info}; | use log::{error, info}; | ||||||
| use lru::LruCache; | use lru::LruCache; | ||||||
| use rand::thread_rng; | use rand::thread_rng; | ||||||
| use rsa::{RSAPrivateKey, RSAPublicKey}; | use rsa::{RSAPrivateKey, RSAPublicKey}; | ||||||
| use std::{collections::HashSet, sync::Arc}; | use std::{collections::HashSet, sync::Arc, time::Duration}; | ||||||
| use tokio::sync::RwLock; | use tokio::sync::RwLock; | ||||||
| 
 | 
 | ||||||
| #[derive(Clone)] | #[derive(Clone)] | ||||||
|  | @ -194,7 +197,7 @@ impl State { | ||||||
| 
 | 
 | ||||||
|     fn spawn_rehydrate(&self, db: Db) { |     fn spawn_rehydrate(&self, db: Db) { | ||||||
|         let state = self.clone(); |         let state = self.clone(); | ||||||
|         actix::spawn(async move { |         spawn(async move { | ||||||
|             let start = Instant::now(); |             let start = Instant::now(); | ||||||
|             let duration = Duration::from_secs(60 * 10); |             let duration = Duration::from_secs(60 * 10); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| use actix::Arbiter; | use actix_rt::Arbiter; | ||||||
| use actix_web::{ | use actix_web::{ | ||||||
|     middleware::{Compress, Logger}, |     middleware::{Compress, Logger}, | ||||||
|     web, App, HttpServer, |     web, App, HttpServer, | ||||||
|  |  | ||||||
|  | @ -4,10 +4,10 @@ use crate::{ | ||||||
|     jobs::{JobServer, QueryInstance, QueryNodeinfo}, |     jobs::{JobServer, QueryInstance, QueryNodeinfo}, | ||||||
| }; | }; | ||||||
| use activitystreams::primitives::XsdAnyUri; | use activitystreams::primitives::XsdAnyUri; | ||||||
| use actix::clock::{delay_for, Duration}; | use actix_rt::{spawn, time::delay_for}; | ||||||
| use futures::stream::{poll_fn, StreamExt}; | use futures::stream::{poll_fn, StreamExt}; | ||||||
| use log::{debug, error, warn}; | use log::{debug, error, warn}; | ||||||
| use std::{collections::HashMap, sync::Arc}; | use std::{collections::HashMap, sync::Arc, time::Duration}; | ||||||
| use tokio_postgres::{tls::NoTls, AsyncMessage, Config}; | use tokio_postgres::{tls::NoTls, AsyncMessage, Config}; | ||||||
| use uuid::Uuid; | use uuid::Uuid; | ||||||
| 
 | 
 | ||||||
|  | @ -43,7 +43,7 @@ impl Notifier { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     pub fn start(self) { |     pub fn start(self) { | ||||||
|         actix::spawn(async move { |         spawn(async move { | ||||||
|             let Notifier { config, listeners } = self; |             let Notifier { config, listeners } = self; | ||||||
| 
 | 
 | ||||||
|             loop { |             loop { | ||||||
|  | @ -59,7 +59,7 @@ impl Notifier { | ||||||
|                 let client = Arc::new(new_client); |                 let client = Arc::new(new_client); | ||||||
|                 let new_client = client.clone(); |                 let new_client = client.clone(); | ||||||
| 
 | 
 | ||||||
|                 actix::spawn(async move { |                 spawn(async move { | ||||||
|                     if let Err(e) = listen(&new_client).await { |                     if let Err(e) = listen(&new_client).await { | ||||||
|                         error!("Error listening for updates, {}", e); |                         error!("Error listening for updates, {}", e); | ||||||
|                     } |                     } | ||||||
|  | @ -121,7 +121,7 @@ impl Listener for NewBlocks { | ||||||
|         debug!("Caching block of {}", payload); |         debug!("Caching block of {}", payload); | ||||||
|         let state = self.0.clone(); |         let state = self.0.clone(); | ||||||
|         let payload = payload.to_owned(); |         let payload = payload.to_owned(); | ||||||
|         actix::spawn(async move { state.cache_block(payload).await }); |         spawn(async move { state.cache_block(payload).await }); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -134,7 +134,7 @@ impl Listener for NewWhitelists { | ||||||
|         debug!("Caching whitelist of {}", payload); |         debug!("Caching whitelist of {}", payload); | ||||||
|         let state = self.0.clone(); |         let state = self.0.clone(); | ||||||
|         let payload = payload.to_owned(); |         let payload = payload.to_owned(); | ||||||
|         actix::spawn(async move { state.cache_whitelist(payload.to_owned()).await }); |         spawn(async move { state.cache_whitelist(payload.to_owned()).await }); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -149,7 +149,7 @@ impl Listener for NewListeners { | ||||||
|             let state = self.0.clone(); |             let state = self.0.clone(); | ||||||
|             let _ = self.1.queue(QueryInstance::new(uri.clone())); |             let _ = self.1.queue(QueryInstance::new(uri.clone())); | ||||||
|             let _ = self.1.queue(QueryNodeinfo::new(uri.clone())); |             let _ = self.1.queue(QueryNodeinfo::new(uri.clone())); | ||||||
|             actix::spawn(async move { state.cache_listener(uri).await }); |             spawn(async move { state.cache_listener(uri).await }); | ||||||
|         } else { |         } else { | ||||||
|             warn!("Not caching listener {}, parse error", payload); |             warn!("Not caching listener {}, parse error", payload); | ||||||
|         } |         } | ||||||
|  | @ -165,7 +165,7 @@ impl Listener for NewActors { | ||||||
|         if let Ok(uri) = payload.parse::<XsdAnyUri>() { |         if let Ok(uri) = payload.parse::<XsdAnyUri>() { | ||||||
|             debug!("Caching actor {}", uri); |             debug!("Caching actor {}", uri); | ||||||
|             let actors = self.0.clone(); |             let actors = self.0.clone(); | ||||||
|             actix::spawn(async move { actors.cache_follower(uri).await }); |             spawn(async move { actors.cache_follower(uri).await }); | ||||||
|         } else { |         } else { | ||||||
|             warn!("Not caching actor {}, parse error", payload); |             warn!("Not caching actor {}, parse error", payload); | ||||||
|         } |         } | ||||||
|  | @ -181,7 +181,7 @@ impl Listener for NewNodes { | ||||||
|         if let Ok(uuid) = payload.parse::<Uuid>() { |         if let Ok(uuid) = payload.parse::<Uuid>() { | ||||||
|             debug!("Caching node {}", uuid); |             debug!("Caching node {}", uuid); | ||||||
|             let nodes = self.0.clone(); |             let nodes = self.0.clone(); | ||||||
|             actix::spawn(async move { nodes.cache_by_id(uuid).await }); |             spawn(async move { nodes.cache_by_id(uuid).await }); | ||||||
|         } else { |         } else { | ||||||
|             warn!("Not caching node {}, parse error", payload); |             warn!("Not caching node {}, parse error", payload); | ||||||
|         } |         } | ||||||
|  | @ -197,7 +197,7 @@ impl Listener for RmBlocks { | ||||||
|         debug!("Busting block cache for {}", payload); |         debug!("Busting block cache for {}", payload); | ||||||
|         let state = self.0.clone(); |         let state = self.0.clone(); | ||||||
|         let payload = payload.to_owned(); |         let payload = payload.to_owned(); | ||||||
|         actix::spawn(async move { state.bust_block(&payload).await }); |         spawn(async move { state.bust_block(&payload).await }); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -210,7 +210,7 @@ impl Listener for RmWhitelists { | ||||||
|         debug!("Busting whitelist cache for {}", payload); |         debug!("Busting whitelist cache for {}", payload); | ||||||
|         let state = self.0.clone(); |         let state = self.0.clone(); | ||||||
|         let payload = payload.to_owned(); |         let payload = payload.to_owned(); | ||||||
|         actix::spawn(async move { state.bust_whitelist(&payload).await }); |         spawn(async move { state.bust_whitelist(&payload).await }); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -223,7 +223,7 @@ impl Listener for RmListeners { | ||||||
|         if let Ok(uri) = payload.parse::<XsdAnyUri>() { |         if let Ok(uri) = payload.parse::<XsdAnyUri>() { | ||||||
|             debug!("Busting listener cache for {}", uri); |             debug!("Busting listener cache for {}", uri); | ||||||
|             let state = self.0.clone(); |             let state = self.0.clone(); | ||||||
|             actix::spawn(async move { state.bust_listener(&uri).await }); |             spawn(async move { state.bust_listener(&uri).await }); | ||||||
|         } else { |         } else { | ||||||
|             warn!("Not busting listener cache for {}", payload); |             warn!("Not busting listener cache for {}", payload); | ||||||
|         } |         } | ||||||
|  | @ -239,7 +239,7 @@ impl Listener for RmActors { | ||||||
|         if let Ok(uri) = payload.parse::<XsdAnyUri>() { |         if let Ok(uri) = payload.parse::<XsdAnyUri>() { | ||||||
|             debug!("Busting actor cache for {}", uri); |             debug!("Busting actor cache for {}", uri); | ||||||
|             let actors = self.0.clone(); |             let actors = self.0.clone(); | ||||||
|             actix::spawn(async move { actors.bust_follower(&uri).await }); |             spawn(async move { actors.bust_follower(&uri).await }); | ||||||
|         } else { |         } else { | ||||||
|             warn!("Not busting actor cache for {}", payload); |             warn!("Not busting actor cache for {}", payload); | ||||||
|         } |         } | ||||||
|  | @ -255,7 +255,7 @@ impl Listener for RmNodes { | ||||||
|         if let Ok(uuid) = payload.parse::<Uuid>() { |         if let Ok(uuid) = payload.parse::<Uuid>() { | ||||||
|             debug!("Caching node {}", uuid); |             debug!("Caching node {}", uuid); | ||||||
|             let nodes = self.0.clone(); |             let nodes = self.0.clone(); | ||||||
|             actix::spawn(async move { nodes.bust_by_id(uuid).await }); |             spawn(async move { nodes.bust_by_id(uuid).await }); | ||||||
|         } else { |         } else { | ||||||
|             warn!("Not caching node {}, parse error", payload); |             warn!("Not caching node {}, parse error", payload); | ||||||
|         } |         } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue