mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
commitcloudsubscriber: use Fallible
Summary: Use the `Fallible` type alias provided by `failure` rather than defining our own. Differential Revision: D13657314 fbshipit-source-id: f1a379089972f7f0066c49ddedf606d36b7ac260
This commit is contained in:
parent
d3709fde5b
commit
7f1258f091
@ -4,6 +4,7 @@
|
||||
// GNU General Public License version 2 or any later version.
|
||||
|
||||
use error::*;
|
||||
use failure::Fallible;
|
||||
use std::path::Path;
|
||||
use std::process::{Command, Stdio};
|
||||
use std::time::Instant;
|
||||
@ -17,7 +18,7 @@ impl CloudSyncTrigger {
|
||||
retries: u32,
|
||||
version: Option<u64>,
|
||||
try_direct_fetching: bool,
|
||||
) -> Result<()> {
|
||||
) -> Fallible<()> {
|
||||
let mut version_args = vec![];
|
||||
if let Some(version) = version {
|
||||
version_args.append(&mut vec![
|
||||
|
@ -5,7 +5,6 @@
|
||||
|
||||
#![deny(warnings)]
|
||||
|
||||
pub use failure::Error;
|
||||
use std::fmt;
|
||||
|
||||
#[derive(Debug, Fail)]
|
||||
@ -36,5 +35,3 @@ impl fmt::Display for CommitCloudHttpError {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
pub type Result<T> = ::std::result::Result<T, Error>;
|
||||
|
@ -3,7 +3,7 @@
|
||||
// This software may be used and distributed according to the terms of the
|
||||
// GNU General Public License version 2 or any later version.
|
||||
|
||||
use error::*;
|
||||
use failure::Fallible;
|
||||
use serde_json;
|
||||
use std::collections::HashMap;
|
||||
use std::net::{SocketAddr, TcpListener};
|
||||
@ -58,7 +58,7 @@ impl TcpReceiverService {
|
||||
self
|
||||
}
|
||||
|
||||
pub fn serve(self) -> Result<thread::JoinHandle<Result<()>>> {
|
||||
pub fn serve(self) -> Fallible<thread::JoinHandle<Fallible<()>>> {
|
||||
let listener = TcpListener::bind(SocketAddr::from(([127, 0, 0, 1], self.port)))?;
|
||||
Ok(thread::spawn(move || {
|
||||
info!("Starting CommitCloud TcpReceiverService");
|
||||
|
@ -7,6 +7,7 @@ use action::CloudSyncTrigger;
|
||||
use config::CommitCloudConfig;
|
||||
use error::*;
|
||||
use eventsource::reqwest::Client;
|
||||
use failure::Fallible;
|
||||
use receiver::CommandName::{self, CommitCloudCancelSubscriptions, CommitCloudRestartSubscriptions,
|
||||
CommitCloudStartSubscriptions};
|
||||
use reqwest::Url;
|
||||
@ -132,7 +133,7 @@ pub struct WorkspaceSubscriberService {
|
||||
}
|
||||
|
||||
impl WorkspaceSubscriberService {
|
||||
pub fn new(config: &CommitCloudConfig) -> Result<WorkspaceSubscriberService> {
|
||||
pub fn new(config: &CommitCloudConfig) -> Fallible<WorkspaceSubscriberService> {
|
||||
Ok(WorkspaceSubscriberService {
|
||||
notification_url: config
|
||||
.notification_url
|
||||
@ -198,7 +199,7 @@ impl WorkspaceSubscriberService {
|
||||
actions
|
||||
}
|
||||
|
||||
pub fn serve(self) -> Result<thread::JoinHandle<Result<()>>> {
|
||||
pub fn serve(self) -> Fallible<thread::JoinHandle<Fallible<()>>> {
|
||||
self.channel.0.send(CommitCloudStartSubscriptions)?;
|
||||
Ok(thread::spawn(move || {
|
||||
info!("Starting CommitCloud WorkspaceSubscriberService");
|
||||
@ -264,13 +265,13 @@ impl WorkspaceSubscriberService {
|
||||
/// It starts all the requested subscriptions by simply runing a separate thread for each one
|
||||
/// All threads keep checking the interrupt flag and join gracefully if it is restart or stop
|
||||
|
||||
fn run_subscriptions(&self, access_token: util::Token) -> Result<Vec<thread::JoinHandle<()>>> {
|
||||
fn run_subscriptions(&self, access_token: util::Token) -> Fallible<Vec<thread::JoinHandle<()>>> {
|
||||
util::read_subscriptions(&self.connected_subscribers_path)?
|
||||
.into_iter()
|
||||
.map(|(subscription, repo_roots)| {
|
||||
self.run_subscription(access_token.clone(), subscription, repo_roots)
|
||||
})
|
||||
.collect::<Result<Vec<thread::JoinHandle<()>>>>()
|
||||
.collect::<Fallible<Vec<thread::JoinHandle<()>>>>()
|
||||
}
|
||||
|
||||
/// Helper function to run a single subscription
|
||||
@ -280,7 +281,7 @@ impl WorkspaceSubscriberService {
|
||||
access_token: util::Token,
|
||||
subscription: Subscription,
|
||||
repo_roots: Vec<PathBuf>,
|
||||
) -> Result<thread::JoinHandle<()>> {
|
||||
) -> Fallible<thread::JoinHandle<()>> {
|
||||
let mut notification_url = Url::parse(&self.notification_url)?;
|
||||
let service_url = Url::parse(&self.service_url)?;
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
// GNU General Public License version 2 or any later version.
|
||||
|
||||
use error::*;
|
||||
use failure::Fallible;
|
||||
use ini::Ini;
|
||||
use std::{fs, io};
|
||||
use std::collections::HashMap;
|
||||
@ -23,7 +24,7 @@ static JOINED: &str = "joined";
|
||||
/// Map from a subscription to list of repo roots
|
||||
pub fn read_subscriptions(
|
||||
joined_pool_path: &PathBuf,
|
||||
) -> Result<HashMap<Subscription, Vec<PathBuf>>> {
|
||||
) -> Fallible<HashMap<Subscription, Vec<PathBuf>>> {
|
||||
let mut joined_pool_path = joined_pool_path.clone();
|
||||
joined_pool_path.push(JOINED_DIR);
|
||||
joined_pool_path.push(JOINED);
|
||||
@ -141,7 +142,7 @@ pub struct Token {
|
||||
pub(crate) token_type: TokenType,
|
||||
}
|
||||
|
||||
pub fn read_access_token(user_token_path: &Option<PathBuf>) -> Result<Token> {
|
||||
pub fn read_access_token(user_token_path: &Option<PathBuf>) -> Fallible<Token> {
|
||||
// try to read token from file
|
||||
let token = if let &Some(ref user_token_path) = user_token_path {
|
||||
let mut user_token_path = user_token_path.clone();
|
||||
|
Loading…
Reference in New Issue
Block a user