From 8595d0c9270464747f5a172989a54a499b5c80f9 Mon Sep 17 00:00:00 2001 From: alemi Date: Fri, 11 Aug 2023 15:50:17 +0200 Subject: [PATCH] fix: imports, Arc --- src/buffer/controller.rs | 4 ++-- src/state.rs | 32 ++++++++------------------------ 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/src/buffer/controller.rs b/src/buffer/controller.rs index 0e1de5f..9be39f4 100644 --- a/src/buffer/controller.rs +++ b/src/buffer/controller.rs @@ -5,7 +5,7 @@ use uuid::Uuid; use crate::{ ControllerWorker, cursor::tracker::{CursorTracker, CursorTrackerWorker}, - buffer::controller::{OperationControllerHandle, OperationControllerEditor, OperationControllerWorker}, + buffer::handle::{BufferHandle, OperationControllerEditor, OperationControllerWorker}, proto::{buffer_client::BufferClient, BufferPayload, RawOp, OperationRequest}, }; @@ -62,7 +62,7 @@ impl BufferController { Ok(handle) } - pub async fn attach(&mut self, path: &str) -> Result { + pub async fn attach(&mut self, path: &str) -> Result { let req = BufferPayload { path: path.to_string(), content: None, diff --git a/src/state.rs b/src/state.rs index 39d1f54..abb78d5 100644 --- a/src/state.rs +++ b/src/state.rs @@ -1,11 +1,11 @@ use std::{collections::BTreeMap, sync::Arc}; -use tokio::sync::{RwLock, Mutex}; -use tonic::async_trait; +use tokio::sync::RwLock; use crate::{ - buffer::{controller::BufferController, handle::OperationControllerEditor}, - errors::CodempError, Controller, proto::Cursor, cursor::tracker::CursorTracker, + buffer::{controller::BufferController, handle::BufferHandle}, + cursor::tracker::CursorTracker, + errors::CodempError, }; @@ -25,14 +25,14 @@ pub mod instance { } pub struct Workspace { - client: CodempClient, - buffers: RwLock, BufferController>>, + client: BufferController, + buffers: RwLock, Arc>>, cursor: Arc, } impl Workspace { pub async fn new(dest: &str) -> Result { - let mut client = CodempClient::new(dest).await?; + let mut client = BufferController::new(dest).await?; let cursor = Arc::new(client.listen().await?); Ok( Workspace { @@ -49,7 +49,7 @@ impl Workspace { } // Buffer - pub async fn buffer(&self, path: &str) -> Option { + pub async fn buffer(&self, path: &str) -> Option> { self.buffers.read().await.get(path).cloned() } @@ -62,20 +62,4 @@ impl Workspace { self.buffers.write().await.insert(path.into(), Arc::new(controller)); Ok(()) } - - // pub async fn diff(&self, path: &str, span: Range, text: &str) { - // if let Some(controller) = self.inner.read().await.buffers.get(path) { - // if let Some(op) = controller.delta(span.start, text, span.end) { - // controller.apply(op).await - // } - // } - // } - - // async fn send(&self, path: &str, start: (i32, i32), end: (i32, i32)) { - // self.inner.read().await.cursor.send(path, start.into(), end.into()).await - // } - - // pub async fn recv(&self) -> Option { - // self.inner.write().await.cursor.poll().await - // } }