Merge pull request #33 from tikv/dont-clone-config

Don't copy Config internally. Take the value.
This commit is contained in:
Brian Anderson 2019-02-26 12:04:51 -08:00 committed by GitHub
commit 3ab4f9586a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 36 additions and 36 deletions

View File

@ -35,7 +35,7 @@ fn main() -> Result<()> {
// When we first create a client we receive a `Connect` structure which must be resolved before // When we first create a client we receive a `Connect` structure which must be resolved before
// the client is actually connected and usable. // the client is actually connected and usable.
let unconnnected_client = Client::new(&config); let unconnnected_client = Client::new(config);
let client = unconnnected_client.wait()?; let client = unconnnected_client.wait()?;
// Requests are created from the connected client. These calls return structures which // Requests are created from the connected client. These calls return structures which

View File

@ -84,7 +84,7 @@ fn main() {
Config::new(args.pd) Config::new(args.pd)
}; };
let txn = Client::new(&config) let txn = Client::new(config)
.wait() .wait()
.expect("Could not connect to tikv"); .expect("Could not connect to tikv");

View File

@ -101,7 +101,7 @@
//! ]).with_security("root.ca", "internal.cert", "internal.key"); //! ]).with_security("root.ca", "internal.cert", "internal.key");
//! //!
//! // Get an unresolved connection. //! // Get an unresolved connection.
//! let connect = Client::new(&config); //! let connect = Client::new(config);
//! //!
//! // Resolve the connection into a client. //! // Resolve the connection into a client.
//! let client = connect.wait(); //! let client = connect.wait();

View File

@ -41,12 +41,12 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// use tikv_client::{Config, raw::Client}; /// use tikv_client::{Config, raw::Client};
/// use futures::Future; /// use futures::Future;
/// let connect = Client::new(&Config::default()); /// let connect = Client::new(Config::default());
/// let client = connect.wait(); /// let client = connect.wait();
/// ``` /// ```
#[cfg_attr(feature = "cargo-clippy", allow(clippy::new_ret_no_self))] #[cfg_attr(feature = "cargo-clippy", allow(clippy::new_ret_no_self))]
pub fn new(config: &Config) -> Connect { pub fn new(config: Config) -> Connect {
Connect::new(config.clone()) Connect::new(config)
} }
#[inline] #[inline]
@ -62,7 +62,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Value, Config, raw::Client}; /// # use tikv_client::{Value, Config, raw::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let key = "TiKV"; /// let key = "TiKV";
/// let req = connected_client.get(key); /// let req = connected_client.get(key);
@ -80,7 +80,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{KvPair, Config, raw::Client}; /// # use tikv_client::{KvPair, Config, raw::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let keys = vec!["TiKV", "TiDB"]; /// let keys = vec!["TiKV", "TiDB"];
/// let req = connected_client.batch_get(keys); /// let req = connected_client.batch_get(keys);
@ -100,7 +100,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Key, Value, Config, raw::Client}; /// # use tikv_client::{Key, Value, Config, raw::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let key = "TiKV"; /// let key = "TiKV";
/// let val = "TiKV"; /// let val = "TiKV";
@ -118,7 +118,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Error, Result, KvPair, Key, Value, Config, raw::Client}; /// # use tikv_client::{Error, Result, KvPair, Key, Value, Config, raw::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let kvpair1 = ("PD", "Go"); /// let kvpair1 = ("PD", "Go");
/// let kvpair2 = ("TiKV", "Rust"); /// let kvpair2 = ("TiKV", "Rust");
@ -140,7 +140,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Key, Config, raw::Client}; /// # use tikv_client::{Key, Config, raw::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let key = "TiKV"; /// let key = "TiKV";
/// let req = connected_client.delete(key); /// let req = connected_client.delete(key);
@ -157,7 +157,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Config, raw::Client}; /// # use tikv_client::{Config, raw::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let keys = vec!["TiKV", "TiDB"]; /// let keys = vec!["TiKV", "TiDB"];
/// let req = connected_client.batch_delete(keys); /// let req = connected_client.batch_delete(keys);
@ -177,7 +177,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{KvPair, Config, raw::Client}; /// # use tikv_client::{KvPair, Config, raw::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let inclusive_range = "TiKV"..="TiDB"; /// let inclusive_range = "TiKV"..="TiDB";
/// let req = connected_client.scan(inclusive_range, 2); /// let req = connected_client.scan(inclusive_range, 2);
@ -194,7 +194,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Key, Config, raw::Client}; /// # use tikv_client::{Key, Config, raw::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let inclusive_range1 = "TiDB"..="TiKV"; /// let inclusive_range1 = "TiDB"..="TiKV";
/// let inclusive_range2 = "TiKV"..="TiSpark"; /// let inclusive_range2 = "TiKV"..="TiSpark";
@ -223,7 +223,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Key, Config, raw::Client}; /// # use tikv_client::{Key, Config, raw::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let inclusive_range = "TiKV"..="TiDB"; /// let inclusive_range = "TiKV"..="TiDB";
/// let req = connected_client.delete_range(inclusive_range); /// let req = connected_client.delete_range(inclusive_range);
@ -242,7 +242,7 @@ impl Client {
/// use tikv_client::{Config, raw::{Client, Connect}}; /// use tikv_client::{Config, raw::{Client, Connect}};
/// use futures::Future; /// use futures::Future;
/// ///
/// let connect: Connect = Client::new(&Config::default()); /// let connect: Connect = Client::new(Config::default());
/// let client: Client = connect.wait().unwrap(); /// let client: Client = connect.wait().unwrap();
/// ``` /// ```
pub struct Connect { pub struct Connect {

View File

@ -33,12 +33,12 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// use tikv_client::{Config, transaction::Client}; /// use tikv_client::{Config, transaction::Client};
/// use futures::Future; /// use futures::Future;
/// let connect = Client::new(&Config::default()); /// let connect = Client::new(Config::default());
/// let client = connect.wait(); /// let client = connect.wait();
/// ``` /// ```
#[cfg_attr(feature = "cargo-clippy", allow(clippy::new_ret_no_self))] #[cfg_attr(feature = "cargo-clippy", allow(clippy::new_ret_no_self))]
pub fn new(config: &Config) -> Connect { pub fn new(config: Config) -> Connect {
Connect::new(config.clone()) Connect::new(config)
} }
/// Create a new [`Transaction`](struct.Transaction.html) using the timestamp from [`current_timestamp`](struct.Client.html#method.current_timestamp). /// Create a new [`Transaction`](struct.Transaction.html) using the timestamp from [`current_timestamp`](struct.Client.html#method.current_timestamp).
@ -48,7 +48,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// use tikv_client::{Config, transaction::Client}; /// use tikv_client::{Config, transaction::Client};
/// use futures::Future; /// use futures::Future;
/// let connect = Client::new(&Config::default()); /// let connect = Client::new(Config::default());
/// let client = connect.wait().unwrap(); /// let client = connect.wait().unwrap();
/// let transaction = client.begin(); /// let transaction = client.begin();
/// // ... Issue some commands. /// // ... Issue some commands.
@ -64,7 +64,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// use tikv_client::{Config, transaction::Client}; /// use tikv_client::{Config, transaction::Client};
/// use futures::Future; /// use futures::Future;
/// let connect = Client::new(&Config::default()); /// let connect = Client::new(Config::default());
/// let client = connect.wait().unwrap(); /// let client = connect.wait().unwrap();
/// let timestamp = client.current_timestamp(); /// let timestamp = client.current_timestamp();
/// let transaction = client.begin_with_timestamp(timestamp); /// let transaction = client.begin_with_timestamp(timestamp);
@ -81,7 +81,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// use tikv_client::{Config, transaction::Client}; /// use tikv_client::{Config, transaction::Client};
/// use futures::Future; /// use futures::Future;
/// let connect = Client::new(&Config::default()); /// let connect = Client::new(Config::default());
/// let client = connect.wait().unwrap(); /// let client = connect.wait().unwrap();
/// let snapshot = client.snapshot(); /// let snapshot = client.snapshot();
/// // ... Issue some commands. /// // ... Issue some commands.
@ -95,7 +95,7 @@ impl Client {
/// ```rust,no_run /// ```rust,no_run
/// use tikv_client::{Config, transaction::Client}; /// use tikv_client::{Config, transaction::Client};
/// use futures::Future; /// use futures::Future;
/// let connect = Client::new(&Config::default()); /// let connect = Client::new(Config::default());
/// let client = connect.wait().unwrap(); /// let client = connect.wait().unwrap();
/// let timestamp = client.current_timestamp(); /// let timestamp = client.current_timestamp();
/// ``` /// ```
@ -112,7 +112,7 @@ impl Client {
/// use tikv_client::{Config, transaction::{Client, Connect}}; /// use tikv_client::{Config, transaction::{Client, Connect}};
/// use futures::Future; /// use futures::Future;
/// ///
/// let connect: Connect = Client::new(&Config::default()); /// let connect: Connect = Client::new(Config::default());
/// let client: Client = connect.wait().unwrap(); /// let client: Client = connect.wait().unwrap();
/// ``` /// ```
pub struct Connect { pub struct Connect {
@ -187,7 +187,7 @@ impl Transaction {
/// ```rust,no_run /// ```rust,no_run
/// use tikv_client::{Config, transaction::Client}; /// use tikv_client::{Config, transaction::Client};
/// use futures::Future; /// use futures::Future;
/// let connect = Client::new(&Config::default()); /// let connect = Client::new(Config::default());
/// let client = connect.wait().unwrap(); /// let client = connect.wait().unwrap();
/// let txn = client.begin(); /// let txn = client.begin();
/// ``` /// ```
@ -202,7 +202,7 @@ impl Transaction {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Config, transaction::Client}; /// # use tikv_client::{Config, transaction::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connect = Client::new(&Config::default()); /// # let connect = Client::new(Config::default());
/// # let connected_client = connect.wait().unwrap(); /// # let connected_client = connect.wait().unwrap();
/// let txn = connected_client.begin(); /// let txn = connected_client.begin();
/// // ... Do some actions. /// // ... Do some actions.
@ -218,7 +218,7 @@ impl Transaction {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Config, transaction::Client}; /// # use tikv_client::{Config, transaction::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connect = Client::new(&Config::default()); /// # let connect = Client::new(Config::default());
/// # let connected_client = connect.wait().unwrap(); /// # let connected_client = connect.wait().unwrap();
/// let txn = connected_client.begin(); /// let txn = connected_client.begin();
/// // ... Do some actions. /// // ... Do some actions.
@ -234,7 +234,7 @@ impl Transaction {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Config, transaction::Client}; /// # use tikv_client::{Config, transaction::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connect = Client::new(&Config::default()); /// # let connect = Client::new(Config::default());
/// # let connected_client = connect.wait().unwrap(); /// # let connected_client = connect.wait().unwrap();
/// let mut txn = connected_client.begin(); /// let mut txn = connected_client.begin();
/// // ... Do some actions. /// // ... Do some actions.
@ -254,7 +254,7 @@ impl Transaction {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Config, transaction::{Client, Timestamp}}; /// # use tikv_client::{Config, transaction::{Client, Timestamp}};
/// # use futures::Future; /// # use futures::Future;
/// # let connect = Client::new(&Config::default()); /// # let connect = Client::new(Config::default());
/// # let connected_client = connect.wait().unwrap(); /// # let connected_client = connect.wait().unwrap();
/// let txn = connected_client.begin(); /// let txn = connected_client.begin();
/// // ... Do some actions. /// // ... Do some actions.
@ -269,7 +269,7 @@ impl Transaction {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Config, transaction::{Client, Snapshot}}; /// # use tikv_client::{Config, transaction::{Client, Snapshot}};
/// # use futures::Future; /// # use futures::Future;
/// # let connect = Client::new(&Config::default()); /// # let connect = Client::new(Config::default());
/// # let connected_client = connect.wait().unwrap(); /// # let connected_client = connect.wait().unwrap();
/// let txn = connected_client.begin(); /// let txn = connected_client.begin();
/// // ... Do some actions. /// // ... Do some actions.
@ -284,7 +284,7 @@ impl Transaction {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Config, transaction::{Client, IsolationLevel}}; /// # use tikv_client::{Config, transaction::{Client, IsolationLevel}};
/// # use futures::Future; /// # use futures::Future;
/// # let connect = Client::new(&Config::default()); /// # let connect = Client::new(Config::default());
/// # let connected_client = connect.wait().unwrap(); /// # let connected_client = connect.wait().unwrap();
/// let mut txn = connected_client.begin(); /// let mut txn = connected_client.begin();
/// txn.set_isolation_level(IsolationLevel::SnapshotIsolation); /// txn.set_isolation_level(IsolationLevel::SnapshotIsolation);
@ -301,7 +301,7 @@ impl Transaction {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Value, Config, transaction::Client}; /// # use tikv_client::{Value, Config, transaction::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let mut txn = connected_client.begin(); /// let mut txn = connected_client.begin();
/// let key = "TiKV"; /// let key = "TiKV";
@ -322,7 +322,7 @@ impl Transaction {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{KvPair, Config, transaction::Client}; /// # use tikv_client::{KvPair, Config, transaction::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let mut txn = connected_client.begin(); /// let mut txn = connected_client.begin();
/// let keys = vec!["TiKV", "TiDB"]; /// let keys = vec!["TiKV", "TiDB"];
@ -350,7 +350,7 @@ impl Transaction {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Key, Value, Config, transaction::Client}; /// # use tikv_client::{Key, Value, Config, transaction::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let mut txn = connected_client.begin(); /// let mut txn = connected_client.begin();
/// let key = "TiKV"; /// let key = "TiKV";
@ -371,7 +371,7 @@ impl Transaction {
/// ```rust,no_run /// ```rust,no_run
/// # use tikv_client::{Key, Config, transaction::Client}; /// # use tikv_client::{Key, Config, transaction::Client};
/// # use futures::Future; /// # use futures::Future;
/// # let connecting_client = Client::new(&Config::new(vec!["192.168.0.100", "192.168.0.101"])); /// # let connecting_client = Client::new(Config::new(vec!["192.168.0.100", "192.168.0.101"]));
/// # let connected_client = connecting_client.wait().unwrap(); /// # let connected_client = connecting_client.wait().unwrap();
/// let mut txn = connected_client.begin(); /// let mut txn = connected_client.begin();
/// let key = "TiKV"; /// let key = "TiKV";

View File

@ -35,7 +35,7 @@ fn wipe_all(client: &Client) {
} }
fn connect() -> Client { fn connect() -> Client {
let client = Client::new(&Config::new(pd_addr())) let client = Client::new(Config::new(pd_addr()))
.wait() .wait()
.expect("Could not connect to tikv"); .expect("Could not connect to tikv");
wipe_all(&client); wipe_all(&client);