{"action":"created","comment":{"url":"https://api.github.com/repos/tikv/client-rust/pulls/comments/235257721","pull_request_review_id":177046891,"id":235257721,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNTI1NzcyMQ==","diff_hunk":"@@ -372,59 +443,281 @@ impl Future for Connect {\n     }\n }\n \n+/// The TiKV raw [`Client`](struct.Client.html) is used to issue requests to the TiKV server and PD cluster.\n pub struct Client;\n \n impl Client {\n-    #![cfg_attr(feature = \"cargo-clippy\", allow(new_ret_no_self))]\n+    #![cfg_attr(feature = \"cargo-clippy\", allow(clippy::new_ret_no_self))]\n+    /// Create a new [`Client`](struct.Client.html) once the [`Connect`](struct.Connect.html) resolves.\n+    /// \n+    /// ```rust,no_run\n+    /// # use tikv_client::{Config, raw::{Client, Connect}};\n+    /// # use futures::Future;\n+    /// let connect = Client::new(&Config::default());\n+    /// let client = connect.wait();\n+    /// ```\n     pub fn new(config: &Config) -> Connect {\n         Connect::new(config.clone())\n     }\n \n-    pub fn get(&self, key: impl AsRef<Key>) -> Get {\n-        Get::new(self, key.as_ref().clone())\n-    }\n-\n-    pub fn batch_get(&self, keys: impl AsRef<[Key]>) -> BatchGet {\n-        BatchGet::new(self, keys.as_ref().to_vec())\n-    }\n-\n+    /// Create a new [`Get`](struct.Get.html) request.\n+    ///\n+    /// Once resolved this request will result in the fetching of the value associated with the given key.\n+    /// \n+    /// ```rust,no_run\n+    /// use tikv_client::{Config, raw::Client};\n+    /// use futures::Future;\n+    /// let connecting_client = Client::new(&Config::new(vec![\"192.168.0.100\", \"192.168.0.101\"]));\n+    /// let connected_client = connecting_client.wait().unwrap();\n+    /// // This is the most explicit form:\n+    /// let key = &b\"TiKV\"[..];\n+    /// let req = connected_client.get(key);\n+    /// req.wait();\n+    /// \n+    /// // Other possibilities:\n+    /// let key = String::from(\"TiKV\");\n+    /// let req = connected_client.get(&key);\n+    /// \n+    /// let key = \"TiKV\";\n+    /// let req = connected_client.get(key);\n+    /// ```\n+    pub fn get<'client, 'key: 'client>(&'client self, key: impl Into<KeyRef<'key>>) -> Get<'client, 'key> {\n+        Get::new(self, key.into())\n+    }\n+\n+    /// Create a new [`BatchGet`](struct.BatchGet.html) request.\n+    /// \n+    /// Once resolved this request will result in the fetching of the values associated with the given keys.\n+    /// \n+    /// ```rust,no_run\n+    /// use tikv_client::{Config, raw::Client};\n+    /// use futures::Future;\n+    /// let connecting_client = Client::new(&Config::new(vec![\"192.168.0.100\", \"192.168.0.101\"]));\n+    /// let connected_client = connecting_client.wait().unwrap();\n+    /// // This is the most explicit form:\n+    /// let keys = vec![&b\"TiKV\"[..], &b\"TiDB\"[..]];\n+    /// let req = connected_client.batch_get(keys);\n+    /// req.wait();\n+    /// \n+    /// // Other possibilities:\n+    /// let keys = vec![\"TiKV\", \"TiDB\"];\n+    /// let req = connected_client.batch_get(keys);\n+    /// \n+    /// let (string1, string2) = (String::from(\"TiKV\"), String::from(\"TiDB\"));\n+    /// let keys = vec![&string1, &string2];\n+    /// let req = connected_client.batch_get(keys);\n+    /// ```\n+    pub fn batch_get<'client, 'keys: 'client>(&'client self, keys: impl IntoIterator<Item=impl Into<KeyRef<'keys>>>) \n+    -> BatchGet<'client, 'keys, impl Iterator<Item=KeyRef<'keys>>> {\n+        BatchGet::new(self, keys.into_iter().map(Into::into))\n+    }\n+\n+    /// Create a new [`Put`](struct.Put.html) request.\n+    ///\n+    /// Once resolved this request will result in the setting of the value associated with the given key.\n+    /// \n+    /// ```rust,no_run\n+    /// use tikv_client::{Key, Value, Config, raw::Client};\n+    /// use futures::Future;\n+    /// let connecting_client = Client::new(&Config::new(vec![\"192.168.0.100\", \"192.168.0.101\"]));\n+    /// let connected_client = connecting_client.wait().unwrap();\n+    /// // This is the most explicit form:\n+    /// let key = Key::from(b\"TiKV\".to_vec());\n+    /// let val = Value::from(b\"TiKV\".to_vec());\n+    /// let req = connected_client.put(key, val);\n+    /// req.wait();\n+    /// \n+    /// // Other possibilities:\n+    /// let key = String::from(\"TiKV\");\n+    /// let val = String::from(\"Client\");\n+    /// let req = connected_client.put(key, val);\n+    /// \n+    /// let key = b\"TiKV\".to_vec();\n+    /// let val = b\"Client\".to_vec();\n+    /// let req = connected_client.put(key, val);\n+    /// ```\n     pub fn put(&self, key: impl Into<Key>, value: impl Into<Value>) -> Put {\n         Put::new(self, key.into(), value.into())\n     }\n-\n+    \n+    /// Create a new [`BatchPut`](struct.BatchPut.html) request.\n+    ///\n+    /// Once resolved this request will result in the setting of the value associated with the given key.\n+    /// \n+    /// ```rust,no_run\n+    /// use tikv_client::{KvPair, Key, Value, Config, raw::Client};\n+    /// use futures::Future;\n+    /// let connecting_client = Client::new(&Config::new(vec![\"192.168.0.100\", \"192.168.0.101\"]));\n+    /// let connected_client = connecting_client.wait().unwrap();\n+    /// // This is the most explicit form:\n+\n+    /// let kvpair1 = KvPair::from((Key::from(b\"TiDB\".to_vec()), Value::from(b\"Go\".to_vec())));\n+    /// let kvpair2 = KvPair::from((Key::from(b\"TiDB\".to_vec()), Value::from(b\"Go\".to_vec())));\n+    /// let req = connected_client.batch_put(vec![kvpair1, kvpair2]);\n+    /// req.wait();\n+    /// \n+    /// // Other possibilities:\n+    /// let kvpair1 = KvPair::from((b\"TiKV\".to_vec(), b\"Rust\".to_vec()));\n+    /// let kvpair2 = KvPair::from((b\"TiKV\".to_vec(), b\"Rust\".to_vec()));\n+    /// let req = connected_client.batch_put(vec![kvpair1, kvpair2]);\n+    /// \n+    /// let kvpairs = vec![\n+    ///     (String::from(\"TiKV\"), String::from(\"Client\")),\n+    ///     (String::from(\"TiKV\"), String::from(\"Client\")),\n+    /// ];\n+    /// let req = connected_client.batch_put(kvpairs);\n+    /// \n+    /// let req = connected_client.batch_put(vec![\n+    ///     (b\"TiKV\".to_vec(), b\"Rust\".to_vec()),\n+    ///     (b\"TiDB\".to_vec(), b\"Go\".to_vec()),\n+    /// ]);\n+    /// ```\n     pub fn batch_put(&self, pairs: impl IntoIterator<Item = impl Into<KvPair>>) -> BatchPut {\n         BatchPut::new(self, pairs.into_iter().map(Into::into).collect())\n     }\n \n-    pub fn delete(&self, key: impl AsRef<Key>) -> Delete {\n-        Delete::new(self, key.as_ref().clone())\n-    }\n-\n-    pub fn batch_delete(&self, keys: impl AsRef<[Key]>) -> BatchDelete {\n-        BatchDelete::new(self, keys.as_ref().to_vec())\n-    }\n-\n-    pub fn scan(&self, range: impl RangeBounds<Key>, limit: u32) -> Scan {\n-        Scan::new(self, Self::extract_range(&range), limit)\n-    }\n-\n-    pub fn batch_scan<Ranges, Bounds>(&self, ranges: Ranges, each_limit: u32) -> BatchScan\n-    where\n-        Ranges: AsRef<[Bounds]>,\n-        Bounds: RangeBounds<Key>,\n-    {\n+    /// Create a new [`Delete`](struct.Delete.html) request.\n+    /// \n+    /// Once resolved this request will result in the deletion of the given key.\n+    /// \n+    /// ```rust,no_run\n+    /// use tikv_client::{KeyRef, Key, Config, raw::Client};\n+    /// use futures::Future;\n+    /// let connecting_client = Client::new(&Config::new(vec![\"192.168.0.100\", \"192.168.0.101\"]));\n+    /// let connected_client = connecting_client.wait().unwrap();\n+    /// // This is the most explicit form:\n+    /// let key = KeyRef::from(&b\"TiKV\"[..]);\n+    /// let req = connected_client.delete(key);\n+    /// req.wait();\n+    /// \n+    /// // Other possibilities:\n+    // let key = Key::from(&b\"TiKV[..]);\n+    // let req = connected_client.delete(&key);\n+    /// \n+    /// let key = &b\"TiKV\"[..];\n+    /// let req = connected_client.delete(key);\n+    /// \n+    /// let key = String::from(\"TiKV\");\n+    /// let req = connected_client.delete(&key);\n+    /// \n+    /// let key = \"TiKV\";\n+    /// let req = connected_client.delete(key);\n+    /// ```\n+    pub fn delete<'client, 'key: 'client>(&'client self, key: impl Into<KeyRef<'key>>) -> Delete<'client, 'key> {\n+        Delete::new(self, key.into())\n+    }\n+\n+    /// Create a new [`BatchDelete`](struct.BatchDelete.html) request.\n+    /// \n+    /// Once resolved this request will result in the deletion of the given keys.\n+    /// \n+    /// ```rust,no_run\n+    /// use tikv_client::{Config, raw::Client};\n+    /// use futures::Future;\n+    /// let connecting_client = Client::new(&Config::new(vec![\"192.168.0.100\", \"192.168.0.101\"]));\n+    /// let connected_client = connecting_client.wait().unwrap();\n+    /// // This is the most explicit form:\n+    /// let keys = vec![&b\"TiKV\"[..], &b\"TiDB\"[..]];\n+    /// let req = connected_client.batch_delete(keys);\n+    /// req.wait();\n+    /// \n+    /// // Other possibilities:\n+    /// let keys = vec![\"TiKV\", \"TiDB\"];\n+    /// let req = connected_client.batch_delete(keys);\n+    /// \n+    /// let (string1, string2) = (String::from(\"TiKV\"), String::from(\"TiDB\"));\n+    /// let keys = vec![&string1, &string2];\n+    /// let req = connected_client.batch_delete(keys);\n+    /// \n+    /// let (key1, string2) = (String::from(\"TiKV\"), String::from(\"TiDB\"));\n+    /// let keys = vec![&string1, &string2];\n+    /// let req = connected_client.batch_delete(keys);\n+    /// ```\n+    pub fn batch_delete<'client, 'keys: 'client>(&'client self, keys: impl IntoIterator<Item=impl Into<KeyRef<'keys>>>) \n+    -> BatchDelete<'client, 'keys, impl Iterator<Item=KeyRef<'keys>>> {\n+        BatchDelete::new(self, keys.into_iter().map(Into::into))\n+    }\n+\n+    /// Create a new [`Scan`](struct.Scan.html) request.\n+    /// \n+    /// Once resolved this request will result in a scanner over the given keys.\n+    /// \n+    /// If not passed a `limit` parameter, it will default to `u32::MAX`.\n+    /// \n+    /// ```rust,no_run\n+    /// use tikv_client::{KeyRef, Config, raw::Client};\n+    /// use futures::Future;\n+    /// let connecting_client = Client::new(&Config::new(vec![\"192.168.0.100\", \"192.168.0.101\"]));\n+    /// let connected_client = connecting_client.wait().unwrap();\n+    /// // This is the most explicit form:\n+    /// let inclusive_range = KeyRef::from(\"TiKV\")..=KeyRef::from(\"TiDB\");\n+    /// let req = connected_client.scan(inclusive_range, 2);\n+    /// req.wait();\n+    /// \n+    /// // Other possibilities:\n+    /// let exclusive_range = KeyRef::from(\"TiKV\")..KeyRef::from(\"TiDB\");\n+    /// let req = connected_client.scan(exclusive_range, None);\n+    /// ```\n+    pub fn scan<'client, 'keys, Bounds>(&'client self, range: Bounds, limit: impl Into<Option<u32>>) -> Scan<'client, 'keys, Bounds> \n+    where Bounds: RangeBounds<KeyRef<'keys>> {\n+        use std::u32::MAX;","path":"src/raw.rs","position":616,"original_position":616,"commit_id":"3c2827455e611758218454b86a51171814386146","original_commit_id":"3c2827455e611758218454b86a51171814386146","user":{"login":"sunxiaoguang","id":3982329,"node_id":"MDQ6VXNlcjM5ODIzMjk=","avatar_url":"https://avatars2.githubusercontent.com/u/3982329?v=4","gravatar_id":"","url":"https://api.github.com/users/sunxiaoguang","html_url":"https://github.com/sunxiaoguang","followers_url":"https://api.github.com/users/sunxiaoguang/followers","following_url":"https://api.github.com/users/sunxiaoguang/following{/other_user}","gists_url":"https://api.github.com/users/sunxiaoguang/gists{/gist_id}","starred_url":"https://api.github.com/users/sunxiaoguang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sunxiaoguang/subscriptions","organizations_url":"https://api.github.com/users/sunxiaoguang/orgs","repos_url":"https://api.github.com/users/sunxiaoguang/repos","events_url":"https://api.github.com/users/sunxiaoguang/events{/privacy}","received_events_url":"https://api.github.com/users/sunxiaoguang/received_events","type":"User","site_admin":false},"body":"If the limit could be potentially large, Scan and BatchScan should definitely be Stream so it can do multiple round of scan. Otherwise the default value of MAX will blow up memory.","created_at":"2018-11-21T05:28:58Z","updated_at":"2018-11-21T05:32:17Z","html_url":"https://github.com/tikv/client-rust/pull/10#discussion_r235257721","pull_request_url":"https://api.github.com/repos/tikv/client-rust/pulls/10","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/tikv/client-rust/pulls/comments/235257721"},"html":{"href":"https://github.com/tikv/client-rust/pull/10#discussion_r235257721"},"pull_request":{"href":"https://api.github.com/repos/tikv/client-rust/pulls/10"}}},"pull_request":{"url":"https://api.github.com/repos/tikv/client-rust/pulls/10","id":232112025,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMyMTEyMDI1","html_url":"https://github.com/tikv/client-rust/pull/10","diff_url":"https://github.com/tikv/client-rust/pull/10.diff","patch_url":"https://github.com/tikv/client-rust/pull/10.patch","issue_url":"https://api.github.com/repos/tikv/client-rust/issues/10","number":10,"state":"open","locked":false,"title":"WIP Docs","user":{"login":"Hoverbear","id":130903,"node_id":"MDQ6VXNlcjEzMDkwMw==","avatar_url":"https://avatars3.githubusercontent.com/u/130903?v=4","gravatar_id":"","url":"https://api.github.com/users/Hoverbear","html_url":"https://github.com/Hoverbear","followers_url":"https://api.github.com/users/Hoverbear/followers","following_url":"https://api.github.com/users/Hoverbear/following{/other_user}","gists_url":"https://api.github.com/users/Hoverbear/gists{/gist_id}","starred_url":"https://api.github.com/users/Hoverbear/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hoverbear/subscriptions","organizations_url":"https://api.github.com/users/Hoverbear/orgs","repos_url":"https://api.github.com/users/Hoverbear/repos","events_url":"https://api.github.com/users/Hoverbear/events{/privacy}","received_events_url":"https://api.github.com/users/Hoverbear/received_events","type":"User","site_admin":false},"body":"(This is a WIP!)\r\n\r\nBased off #7.\r\n\r\nAdds some documentation, along with tested examples.","created_at":"2018-11-19T21:07:56Z","updated_at":"2018-11-21T05:32:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3232c6327cdc5c51baf582f12970a83eadd8b7b4","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/tikv/client-rust/pulls/10/commits","review_comments_url":"https://api.github.com/repos/tikv/client-rust/pulls/10/comments","review_comment_url":"https://api.github.com/repos/tikv/client-rust/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tikv/client-rust/issues/10/comments","statuses_url":"https://api.github.com/repos/tikv/client-rust/statuses/3c2827455e611758218454b86a51171814386146","head":{"label":"tikv:docs","ref":"docs","sha":"3c2827455e611758218454b86a51171814386146","user":{"login":"tikv","id":41004122,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQxMDA0MTIy","avatar_url":"https://avatars2.githubusercontent.com/u/41004122?v=4","gravatar_id":"","url":"https://api.github.com/users/tikv","html_url":"https://github.com/tikv","followers_url":"https://api.github.com/users/tikv/followers","following_url":"https://api.github.com/users/tikv/following{/other_user}","gists_url":"https://api.github.com/users/tikv/gists{/gist_id}","starred_url":"https://api.github.com/users/tikv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tikv/subscriptions","organizations_url":"https://api.github.com/users/tikv/orgs","repos_url":"https://api.github.com/users/tikv/repos","events_url":"https://api.github.com/users/tikv/events{/privacy}","received_events_url":"https://api.github.com/users/tikv/received_events","type":"Organization","site_admin":false},"repo":{"id":146678664,"node_id":"MDEwOlJlcG9zaXRvcnkxNDY2Nzg2NjQ=","name":"client-rust","full_name":"tikv/client-rust","private":false,"owner":{"login":"tikv","id":41004122,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQxMDA0MTIy","avatar_url":"https://avatars2.githubusercontent.com/u/41004122?v=4","gravatar_id":"","url":"https://api.github.com/users/tikv","html_url":"https://github.com/tikv","followers_url":"https://api.github.com/users/tikv/followers","following_url":"https://api.github.com/users/tikv/following{/other_user}","gists_url":"https://api.github.com/users/tikv/gists{/gist_id}","starred_url":"https://api.github.com/users/tikv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tikv/subscriptions","organizations_url":"https://api.github.com/users/tikv/orgs","repos_url":"https://api.github.com/users/tikv/repos","events_url":"https://api.github.com/users/tikv/events{/privacy}","received_events_url":"https://api.github.com/users/tikv/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/tikv/client-rust","description":"Rust Client for TiKV","fork":false,"url":"https://api.github.com/repos/tikv/client-rust","forks_url":"https://api.github.com/repos/tikv/client-rust/forks","keys_url":"https://api.github.com/repos/tikv/client-rust/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tikv/client-rust/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tikv/client-rust/teams","hooks_url":"https://api.github.com/repos/tikv/client-rust/hooks","issue_events_url":"https://api.github.com/repos/tikv/client-rust/issues/events{/number}","events_url":"https://api.github.com/repos/tikv/client-rust/events","assignees_url":"https://api.github.com/repos/tikv/client-rust/assignees{/user}","branches_url":"https://api.github.com/repos/tikv/client-rust/branches{/branch}","tags_url":"https://api.github.com/repos/tikv/client-rust/tags","blobs_url":"https://api.github.com/repos/tikv/client-rust/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tikv/client-rust/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tikv/client-rust/git/refs{/sha}","trees_url":"https://api.github.com/repos/tikv/client-rust/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tikv/client-rust/statuses/{sha}","languages_url":"https://api.github.com/repos/tikv/client-rust/languages","stargazers_url":"https://api.github.com/repos/tikv/client-rust/stargazers","contributors_url":"https://api.github.com/repos/tikv/client-rust/contributors","subscribers_url":"https://api.github.com/repos/tikv/client-rust/subscribers","subscription_url":"https://api.github.com/repos/tikv/client-rust/subscription","commits_url":"https://api.github.com/repos/tikv/client-rust/commits{/sha}","git_commits_url":"https://api.github.com/repos/tikv/client-rust/git/commits{/sha}","comments_url":"https://api.github.com/repos/tikv/client-rust/comments{/number}","issue_comment_url":"https://api.github.com/repos/tikv/client-rust/issues/comments{/number}","contents_url":"https://api.github.com/repos/tikv/client-rust/contents/{+path}","compare_url":"https://api.github.com/repos/tikv/client-rust/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tikv/client-rust/merges","archive_url":"https://api.github.com/repos/tikv/client-rust/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tikv/client-rust/downloads","issues_url":"https://api.github.com/repos/tikv/client-rust/issues{/number}","pulls_url":"https://api.github.com/repos/tikv/client-rust/pulls{/number}","milestones_url":"https://api.github.com/repos/tikv/client-rust/milestones{/number}","notifications_url":"https://api.github.com/repos/tikv/client-rust/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tikv/client-rust/labels{/name}","releases_url":"https://api.github.com/repos/tikv/client-rust/releases{/id}","deployments_url":"https://api.github.com/repos/tikv/client-rust/deployments","created_at":"2018-08-30T01:23:10Z","updated_at":"2018-11-21T02:18:38Z","pushed_at":"2018-11-21T01:15:26Z","git_url":"git://github.com/tikv/client-rust.git","ssh_url":"git@github.com:tikv/client-rust.git","clone_url":"https://github.com/tikv/client-rust.git","svn_url":"https://github.com/tikv/client-rust","homepage":null,"size":58,"stargazers_count":16,"watchers_count":16,"language":"Rust","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":4,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":2,"open_issues":4,"watchers":16,"default_branch":"master"}},"base":{"label":"tikv:master","ref":"master","sha":"0785626abca9fb89b196961f35d4dfbb6f802436","user":{"login":"tikv","id":41004122,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQxMDA0MTIy","avatar_url":"https://avatars2.githubusercontent.com/u/41004122?v=4","gravatar_id":"","url":"https://api.github.com/users/tikv","html_url":"https://github.com/tikv","followers_url":"https://api.github.com/users/tikv/followers","following_url":"https://api.github.com/users/tikv/following{/other_user}","gists_url":"https://api.github.com/users/tikv/gists{/gist_id}","starred_url":"https://api.github.com/users/tikv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tikv/subscriptions","organizations_url":"https://api.github.com/users/tikv/orgs","repos_url":"https://api.github.com/users/tikv/repos","events_url":"https://api.github.com/users/tikv/events{/privacy}","received_events_url":"https://api.github.com/users/tikv/received_events","type":"Organization","site_admin":false},"repo":{"id":146678664,"node_id":"MDEwOlJlcG9zaXRvcnkxNDY2Nzg2NjQ=","name":"client-rust","full_name":"tikv/client-rust","private":false,"owner":{"login":"tikv","id":41004122,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQxMDA0MTIy","avatar_url":"https://avatars2.githubusercontent.com/u/41004122?v=4","gravatar_id":"","url":"https://api.github.com/users/tikv","html_url":"https://github.com/tikv","followers_url":"https://api.github.com/users/tikv/followers","following_url":"https://api.github.com/users/tikv/following{/other_user}","gists_url":"https://api.github.com/users/tikv/gists{/gist_id}","starred_url":"https://api.github.com/users/tikv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tikv/subscriptions","organizations_url":"https://api.github.com/users/tikv/orgs","repos_url":"https://api.github.com/users/tikv/repos","events_url":"https://api.github.com/users/tikv/events{/privacy}","received_events_url":"https://api.github.com/users/tikv/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/tikv/client-rust","description":"Rust Client for TiKV","fork":false,"url":"https://api.github.com/repos/tikv/client-rust","forks_url":"https://api.github.com/repos/tikv/client-rust/forks","keys_url":"https://api.github.com/repos/tikv/client-rust/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tikv/client-rust/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tikv/client-rust/teams","hooks_url":"https://api.github.com/repos/tikv/client-rust/hooks","issue_events_url":"https://api.github.com/repos/tikv/client-rust/issues/events{/number}","events_url":"https://api.github.com/repos/tikv/client-rust/events","assignees_url":"https://api.github.com/repos/tikv/client-rust/assignees{/user}","branches_url":"https://api.github.com/repos/tikv/client-rust/branches{/branch}","tags_url":"https://api.github.com/repos/tikv/client-rust/tags","blobs_url":"https://api.github.com/repos/tikv/client-rust/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tikv/client-rust/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tikv/client-rust/git/refs{/sha}","trees_url":"https://api.github.com/repos/tikv/client-rust/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tikv/client-rust/statuses/{sha}","languages_url":"https://api.github.com/repos/tikv/client-rust/languages","stargazers_url":"https://api.github.com/repos/tikv/client-rust/stargazers","contributors_url":"https://api.github.com/repos/tikv/client-rust/contributors","subscribers_url":"https://api.github.com/repos/tikv/client-rust/subscribers","subscription_url":"https://api.github.com/repos/tikv/client-rust/subscription","commits_url":"https://api.github.com/repos/tikv/client-rust/commits{/sha}","git_commits_url":"https://api.github.com/repos/tikv/client-rust/git/commits{/sha}","comments_url":"https://api.github.com/repos/tikv/client-rust/comments{/number}","issue_comment_url":"https://api.github.com/repos/tikv/client-rust/issues/comments{/number}","contents_url":"https://api.github.com/repos/tikv/client-rust/contents/{+path}","compare_url":"https://api.github.com/repos/tikv/client-rust/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tikv/client-rust/merges","archive_url":"https://api.github.com/repos/tikv/client-rust/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tikv/client-rust/downloads","issues_url":"https://api.github.com/repos/tikv/client-rust/issues{/number}","pulls_url":"https://api.github.com/repos/tikv/client-rust/pulls{/number}","milestones_url":"https://api.github.com/repos/tikv/client-rust/milestones{/number}","notifications_url":"https://api.github.com/repos/tikv/client-rust/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tikv/client-rust/labels{/name}","releases_url":"https://api.github.com/repos/tikv/client-rust/releases{/id}","deployments_url":"https://api.github.com/repos/tikv/client-rust/deployments","created_at":"2018-08-30T01:23:10Z","updated_at":"2018-11-21T02:18:38Z","pushed_at":"2018-11-21T01:15:26Z","git_url":"git://github.com/tikv/client-rust.git","ssh_url":"git@github.com:tikv/client-rust.git","clone_url":"https://github.com/tikv/client-rust.git","svn_url":"https://github.com/tikv/client-rust","homepage":null,"size":58,"stargazers_count":16,"watchers_count":16,"language":"Rust","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":4,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":2,"open_issues":4,"watchers":16,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tikv/client-rust/pulls/10"},"html":{"href":"https://github.com/tikv/client-rust/pull/10"},"issue":{"href":"https://api.github.com/repos/tikv/client-rust/issues/10"},"comments":{"href":"https://api.github.com/repos/tikv/client-rust/issues/10/comments"},"review_comments":{"href":"https://api.github.com/repos/tikv/client-rust/pulls/10/comments"},"review_comment":{"href":"https://api.github.com/repos/tikv/client-rust/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tikv/client-rust/pulls/10/commits"},"statuses":{"href":"https://api.github.com/repos/tikv/client-rust/statuses/3c2827455e611758218454b86a51171814386146"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"sunxiaoguang"}}