Ver código fonte

Rename sender to more accurate client.

master
treyzania 2 anos atrás
pai
commit
c953cd8d4b
3 arquivos alterados com 7 adições e 7 exclusões
  1. 0
    0
      src/client.rs
  2. 3
    3
      src/main.rs
  3. 4
    4
      src/spool.rs

src/sender.rs → src/client.rs Ver arquivo


+ 3
- 3
src/main.rs Ver arquivo

use tokio::runtime; use tokio::runtime;
use tokio::sync::mpsc; use tokio::sync::mpsc;


mod client;
mod config; mod config;
mod sender;
mod spool; mod spool;


use crate::config::*; use crate::config::*;


// Init each account and put outgoing channels into a table for later reference. // Init each account and put outgoing channels into a table for later reference.
for cc in config.accounts.iter() { for cc in config.accounts.iter() {
match rt.block_on(sender::create_and_auth_client(cc.1.clone())) {
match rt.block_on(client::create_and_auth_client(cc.1.clone())) {
Ok(c) => { Ok(c) => {
let (send, recv) = mpsc::channel(2); // FIXME configurable let (send, recv) = mpsc::channel(2); // FIXME configurable
clients.insert(cc.0.clone(), send); clients.insert(cc.0.clone(), send);
sender_futs.push(sender::submit_messages(c, recv));
sender_futs.push(client::submit_messages(c, recv));
} }
Err(e) => { Err(e) => {
eprintln!("[init] error: client setup failed: {:?}", e); eprintln!("[init] error: client setup failed: {:?}", e);

+ 4
- 4
src/spool.rs Ver arquivo

use ruma_events::{self, room::message::*}; use ruma_events::{self, room::message::*};
use ruma_identifiers::RoomId; use ruma_identifiers::RoomId;


use crate::client;
use crate::config::{self, *}; use crate::config::{self, *};
use crate::sender;


type MatrixClient = Client<HttpsConnector<HttpConnector<GaiResolver>>>; type MatrixClient = Client<HttpsConnector<HttpConnector<GaiResolver>>>;
type MessageRequest = rumamessage::create_message_event::Request; type MessageRequest = rumamessage::create_message_event::Request;


pub async fn start_spoolers( pub async fn start_spoolers(
conf: Config, conf: Config,
client_chans: HashMap<String, mpsc::Sender<sender::Message>>,
client_chans: HashMap<String, mpsc::Sender<client::Message>>,
) -> Result<(), Error> { ) -> Result<(), Error> {
for sd in conf.spool_dirs { for sd in conf.spool_dirs {
let chan = client_chans let chan = client_chans
async fn do_watch_dir( async fn do_watch_dir(
inot: tokio_inotify::AsyncINotify, inot: tokio_inotify::AsyncINotify,
sdc: config::SpoolDir, sdc: config::SpoolDir,
mut dest: mpsc::Sender<sender::Message>,
mut dest: mpsc::Sender<client::Message>,
) { ) {
let mut iter = inot.compat(); let mut iter = inot.compat();
while let Some(ent) = iter.next().await { while let Some(ent) = iter.next().await {
}; };


let msg = let msg =
sender::Message::new_delay(sdc.dest_room_id.clone(), s, sdc.send_delay_sec);
client::Message::new_delay(sdc.dest_room_id.clone(), s, sdc.send_delay_sec);
let tout = time::Duration::from_secs(30); let tout = time::Duration::from_secs(30);
dest.send_timeout(msg, tout) dest.send_timeout(msg, tout)
.map_err(|_| ()) .map_err(|_| ())

Carregando…
Cancelar
Salvar