mirror of
https://github.com/OMGeeky/gdriver2.git
synced 2026-02-23 15:38:32 +01:00
expand service methods a bit
(without implementations, just the trait)
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
/target
|
||||
.idea
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
pub(crate) type Result<T> = StdResult<T, Box<dyn Error>>;
|
||||
use std::{error::Error, result::Result as StdResult};
|
||||
pub(crate) use std::{error::Error, result::Result as StdResult};
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
use std::{sync::Arc, thread};
|
||||
|
||||
use chrono::Duration;
|
||||
use gdriver_common::{
|
||||
drive_structure::drive_id::ROOT_ID,
|
||||
ipc::gdriver_service::{BackendActionError, BackendActionRequest, GDriverService},
|
||||
drive_structure::drive_id::{DriveId, ROOT_ID},
|
||||
ipc::gdriver_service::*,
|
||||
};
|
||||
use std::{path::PathBuf, sync::Arc, thread};
|
||||
use tokio::sync::Mutex;
|
||||
|
||||
use crate::drive::Drive;
|
||||
@@ -52,6 +51,30 @@ impl GDriverService for GdriverServer {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async fn get_file_by_path(
|
||||
self,
|
||||
context: ::tarpc::context::Context,
|
||||
path: PathBuf,
|
||||
) -> StdResult<DriveId, GetFileByPathError> {
|
||||
todo!()
|
||||
}
|
||||
|
||||
#[doc = " Returns true if the file was had remote changes and was updadet"]
|
||||
async fn update_changes_for_file(
|
||||
self,
|
||||
context: ::tarpc::context::Context,
|
||||
id: DriveId,
|
||||
) -> StdResult<bool, UpdateChangesError> {
|
||||
todo!()
|
||||
}
|
||||
|
||||
async fn update_changes(
|
||||
self,
|
||||
context: ::tarpc::context::Context,
|
||||
) -> StdResult<(), UpdateChangesError> {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
async fn long_running_task(drive: &Arc<Mutex<Drive>>) {
|
||||
thread::sleep(Duration::seconds(10).to_std().unwrap());
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
pub mod drive_id {
|
||||
use lazy_static::lazy_static;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
lazy_static! {
|
||||
pub static ref ROOT_ID: DriveId = DriveId(String::from("root"));
|
||||
}
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||
pub struct DriveId(pub String);
|
||||
|
||||
impl<T> From<T> for DriveId
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
use crate::prelude::*;
|
||||
use std::path::PathBuf;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::drive_structure::drive_id::DriveId;
|
||||
|
||||
#[tarpc::service]
|
||||
pub trait GDriverService {
|
||||
async fn do_something2(
|
||||
req: BackendActionRequest,
|
||||
) -> std::result::Result<String, BackendActionError>;
|
||||
async fn get_file_by_path(path: PathBuf) -> StdResult<DriveId, GetFileByPathError>;
|
||||
/// Returns true if the file was had remote changes and was updadet
|
||||
async fn update_changes_for_file(id: DriveId) -> StdResult<bool, UpdateChangesError>;
|
||||
async fn update_changes() -> StdResult<(), UpdateChangesError>;
|
||||
async fn do_something2(req: BackendActionRequest) -> StdResult<String, BackendActionError>;
|
||||
}
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub enum BackendActionRequest {
|
||||
@@ -19,3 +26,8 @@ pub enum BackendActionError {
|
||||
Unknown,
|
||||
CouldNotComplete,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub enum GetFileByPathError {}
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub enum UpdateChangesError {}
|
||||
|
||||
@@ -2,3 +2,4 @@ pub use crate::config::Configuration;
|
||||
pub use crate::config::CONFIGURATION;
|
||||
pub use crate::ipc;
|
||||
pub(crate) type Result<T> = std::result::Result<T, Box<dyn std::error::Error>>;
|
||||
pub(crate) use std::result::Result as StdResult;
|
||||
|
||||
Reference in New Issue
Block a user