소스 검색

Migrate kvraft to edition 2018

Also re-formated the imports.
Jing Yang 4 년 전
부모
커밋
24762d48d7

+ 1 - 0
kvraft/Cargo.toml

@@ -1,6 +1,7 @@
 [package]
 name = "kvraft"
 version = "0.1.0"
+edition = "2018"
 
 [dependencies]
 anyhow = "1.0"

+ 9 - 7
kvraft/src/client.rs

@@ -1,13 +1,15 @@
-use super::common::{
-    GetArgs, GetReply, KVRaftOptions, PutAppendArgs, PutAppendEnum,
-    PutAppendReply, UniqueIdSequence, GET, PUT_APPEND,
-};
-use common::{KVError, ValidReply};
+use std::sync::atomic::{AtomicUsize, Ordering};
+use std::sync::Once;
+
 use labrpc::{Client, RequestMessage};
 use serde::de::DeserializeOwned;
 use serde::Serialize;
-use std::sync::atomic::{AtomicUsize, Ordering};
-use std::sync::Once;
+
+use crate::common::{
+    GetArgs, GetReply, KVRaftOptions, PutAppendArgs, PutAppendEnum,
+    PutAppendReply, UniqueIdSequence, GET, PUT_APPEND,
+};
+use crate::common::{KVError, ValidReply};
 
 pub struct Clerk {
     init: Once,

+ 1 - 0
kvraft/src/lib.rs

@@ -6,6 +6,7 @@ extern crate ruaft;
 extern crate serde;
 #[macro_use]
 extern crate serde_derive;
+extern crate tokio;
 
 mod client;
 mod common;

+ 9 - 6
kvraft/src/server.rs

@@ -1,9 +1,3 @@
-use super::common::{
-    ClerkId, GetArgs, GetReply, KVError, PutAppendArgs, PutAppendEnum,
-    PutAppendReply, UniqueId,
-};
-use parking_lot::{Condvar, Mutex};
-use ruaft::{Persister, Raft, RpcClient, Term};
 use std::collections::hash_map::Entry;
 use std::collections::HashMap;
 use std::sync::atomic::{AtomicUsize, Ordering};
@@ -11,6 +5,15 @@ use std::sync::mpsc::{channel, Receiver};
 use std::sync::Arc;
 use std::time::Duration;
 
+use parking_lot::{Condvar, Mutex};
+
+use ruaft::{Persister, Raft, RpcClient, Term};
+
+use crate::common::{
+    ClerkId, GetArgs, GetReply, KVError, PutAppendArgs, PutAppendEnum,
+    PutAppendReply, UniqueId,
+};
+
 pub struct KVServer {
     me: AtomicUsize,
     state: Mutex<KVServerState>,

+ 5 - 4
kvraft/src/testing_utils/config.rs

@@ -6,12 +6,13 @@ use parking_lot::Mutex;
 use rand::seq::SliceRandom;
 use rand::thread_rng;
 
-use client::Clerk;
 use ruaft::rpcs::register_server;
 use ruaft::RpcClient;
-use server::KVServer;
-use testing_utils::memory_persister::MemoryStorage;
-use testing_utils::rpcs::register_kv_server;
+
+use crate::client::Clerk;
+use crate::server::KVServer;
+use crate::testing_utils::memory_persister::MemoryStorage;
+use crate::testing_utils::rpcs::register_kv_server;
 
 struct ConfigState {
     kv_servers: Vec<Option<Arc<KVServer>>>,

+ 2 - 1
kvraft/src/testing_utils/memory_persister.rs

@@ -1,6 +1,7 @@
-use parking_lot::Mutex;
 use std::sync::Arc;
 
+use parking_lot::Mutex;
+
 pub struct State {
     bytes: bytes::Bytes,
     snapshot: Vec<u8>,

+ 4 - 2
kvraft/src/testing_utils/rpcs.rs

@@ -1,8 +1,10 @@
-use common::{GET, PUT_APPEND};
 use labrpc::{Network, Server};
 use parking_lot::Mutex;
+
 use ruaft::rpcs::make_rpc_handler;
-use server::KVServer;
+
+use crate::common::{GET, PUT_APPEND};
+use crate::server::KVServer;
 
 pub fn register_kv_server<
     KV: 'static + AsRef<KVServer> + Clone,

+ 1 - 1
kvraft/tests/service_test.rs

@@ -10,9 +10,9 @@ use std::sync::Arc;
 use std::thread::JoinHandle;
 use std::time::Duration;
 
+use anyhow::Context;
 use rand::{thread_rng, Rng};
 
-use anyhow::Context;
 use kvraft::testing_utils::config::{
     make_config, sleep_election_timeouts, sleep_millis, Config,
 };