11// Copyright 2019 TiKV Project Authors. Licensed under Apache-2.0.
22
33use super :: ColumnFamily ;
4- use crate :: { rpc:: RpcClient , Error , Key , BoundRange , KvPair , Result , Value } ;
4+ use crate :: { rpc:: RpcClient , BoundRange , Error , Key , KvPair , Result , Value } ;
55use futures:: prelude:: * ;
66use futures:: task:: { Context , Poll } ;
7- use std:: { ops :: Bound , pin:: Pin , sync:: Arc , u32} ;
7+ use std:: { pin:: Pin , sync:: Arc , u32} ;
88
99const MAX_RAW_KV_SCAN_LIMIT : u32 = 10240 ;
1010
@@ -82,9 +82,9 @@ pub struct Get {
8282}
8383
8484impl Get {
85- pub fn new ( client : Arc < RpcClient > , inner : GetInner ) -> Self {
85+ pub fn new ( client : Arc < RpcClient > , key : Key ) -> Self {
8686 Self {
87- state : RequestState :: new ( client, inner ) ,
87+ state : RequestState :: new ( client, GetInner { key } ) ,
8888 }
8989 }
9090
@@ -103,16 +103,10 @@ impl Future for Get {
103103 }
104104}
105105
106- pub struct GetInner {
106+ struct GetInner {
107107 key : Key ,
108108}
109109
110- impl GetInner {
111- pub fn new ( key : Key ) -> Self {
112- GetInner { key }
113- }
114- }
115-
116110impl RequestInner for GetInner {
117111 type Resp = Option < Value > ;
118112
@@ -134,9 +128,9 @@ pub struct BatchGet {
134128}
135129
136130impl BatchGet {
137- pub fn new ( client : Arc < RpcClient > , inner : BatchGetInner ) -> Self {
131+ pub fn new ( client : Arc < RpcClient > , keys : Vec < Key > ) -> Self {
138132 Self {
139- state : RequestState :: new ( client, inner ) ,
133+ state : RequestState :: new ( client, BatchGetInner { keys } ) ,
140134 }
141135 }
142136
@@ -155,7 +149,7 @@ impl Future for BatchGet {
155149 }
156150}
157151
158- pub struct BatchGetInner {
152+ struct BatchGetInner {
159153 keys : Vec < Key > ,
160154}
161155
@@ -171,12 +165,6 @@ impl RequestInner for BatchGetInner {
171165 }
172166}
173167
174- impl BatchGetInner {
175- pub fn new ( keys : Vec < Key > ) -> Self {
176- BatchGetInner { keys }
177- }
178- }
179-
180168/// An unresolved [`Client::put`](Client::put) request.
181169///
182170/// Once resolved this request will result in the putting of the value associated with the given
@@ -186,9 +174,9 @@ pub struct Put {
186174}
187175
188176impl Put {
189- pub fn new ( client : Arc < RpcClient > , inner : PutInner ) -> Self {
177+ pub fn new ( client : Arc < RpcClient > , key : Key , value : Value ) -> Self {
190178 Self {
191- state : RequestState :: new ( client, inner ) ,
179+ state : RequestState :: new ( client, PutInner { key , value } ) ,
192180 }
193181 }
194182
@@ -207,17 +195,11 @@ impl Future for Put {
207195 }
208196}
209197
210- pub struct PutInner {
198+ struct PutInner {
211199 key : Key ,
212200 value : Value ,
213201}
214202
215- impl PutInner {
216- pub fn new ( key : Key , value : Value ) -> Self {
217- PutInner { key, value }
218- }
219- }
220-
221203impl RequestInner for PutInner {
222204 type Resp = ( ) ;
223205
@@ -235,9 +217,9 @@ pub struct BatchPut {
235217}
236218
237219impl BatchPut {
238- pub fn new ( client : Arc < RpcClient > , inner : BatchPutInner ) -> Self {
220+ pub fn new ( client : Arc < RpcClient > , pairs : Vec < KvPair > ) -> Self {
239221 Self {
240- state : RequestState :: new ( client, inner ) ,
222+ state : RequestState :: new ( client, BatchPutInner { pairs } ) ,
241223 }
242224 }
243225
@@ -256,16 +238,10 @@ impl Future for BatchPut {
256238 }
257239}
258240
259- pub struct BatchPutInner {
241+ struct BatchPutInner {
260242 pairs : Vec < KvPair > ,
261243}
262244
263- impl BatchPutInner {
264- pub fn new ( pairs : Vec < KvPair > ) -> Self {
265- BatchPutInner { pairs }
266- }
267- }
268-
269245impl RequestInner for BatchPutInner {
270246 type Resp = ( ) ;
271247
@@ -282,9 +258,9 @@ pub struct Delete {
282258}
283259
284260impl Delete {
285- pub fn new ( client : Arc < RpcClient > , inner : DeleteInner ) -> Self {
261+ pub fn new ( client : Arc < RpcClient > , key : Key ) -> Self {
286262 Self {
287- state : RequestState :: new ( client, inner ) ,
263+ state : RequestState :: new ( client, DeleteInner { key } ) ,
288264 }
289265 }
290266
@@ -303,16 +279,10 @@ impl Future for Delete {
303279 }
304280}
305281
306- pub struct DeleteInner {
282+ struct DeleteInner {
307283 key : Key ,
308284}
309285
310- impl DeleteInner {
311- pub fn new ( key : Key ) -> Self {
312- DeleteInner { key }
313- }
314- }
315-
316286impl RequestInner for DeleteInner {
317287 type Resp = ( ) ;
318288
@@ -329,9 +299,9 @@ pub struct BatchDelete {
329299}
330300
331301impl BatchDelete {
332- pub fn new ( client : Arc < RpcClient > , inner : BatchDeleteInner ) -> Self {
302+ pub fn new ( client : Arc < RpcClient > , keys : Vec < Key > ) -> Self {
333303 Self {
334- state : RequestState :: new ( client, inner ) ,
304+ state : RequestState :: new ( client, BatchDeleteInner { keys } ) ,
335305 }
336306 }
337307
@@ -350,16 +320,10 @@ impl Future for BatchDelete {
350320 }
351321}
352322
353- pub struct BatchDeleteInner {
323+ struct BatchDeleteInner {
354324 keys : Vec < Key > ,
355325}
356326
357- impl BatchDeleteInner {
358- pub fn new ( keys : Vec < Key > ) -> Self {
359- BatchDeleteInner { keys }
360- }
361- }
362-
363327impl RequestInner for BatchDeleteInner {
364328 type Resp = ( ) ;
365329
@@ -376,9 +340,9 @@ pub struct Scan {
376340}
377341
378342impl Scan {
379- pub fn new ( client : Arc < RpcClient > , inner : ScanInner ) -> Self {
343+ pub fn new ( client : Arc < RpcClient > , range : BoundRange , limit : u32 ) -> Self {
380344 Scan {
381- state : RequestState :: new ( client, inner ) ,
345+ state : RequestState :: new ( client, ScanInner :: new ( range , limit ) ) ,
382346 }
383347 }
384348
@@ -404,14 +368,14 @@ impl Future for Scan {
404368 }
405369}
406370
407- pub struct ScanInner {
371+ struct ScanInner {
408372 range : BoundRange ,
409373 limit : u32 ,
410374 key_only : bool ,
411375}
412376
413377impl ScanInner {
414- pub fn new ( range : BoundRange , limit : u32 ) -> Self {
378+ fn new ( range : BoundRange , limit : u32 ) -> Self {
415379 ScanInner {
416380 range,
417381 limit,
@@ -447,9 +411,9 @@ pub struct BatchScan {
447411}
448412
449413impl BatchScan {
450- pub fn new ( client : Arc < RpcClient > , inner : BatchScanInner ) -> Self {
414+ pub fn new ( client : Arc < RpcClient > , ranges : Vec < BoundRange > , each_limit : u32 ) -> Self {
451415 BatchScan {
452- state : RequestState :: new ( client, inner ) ,
416+ state : RequestState :: new ( client, BatchScanInner :: new ( ranges , each_limit ) ) ,
453417 }
454418 }
455419
@@ -475,14 +439,14 @@ impl Future for BatchScan {
475439 }
476440}
477441
478- pub struct BatchScanInner {
442+ struct BatchScanInner {
479443 ranges : Vec < BoundRange > ,
480444 each_limit : u32 ,
481445 key_only : bool ,
482446}
483447
484448impl BatchScanInner {
485- pub fn new ( ranges : Vec < BoundRange > , each_limit : u32 ) -> Self {
449+ fn new ( ranges : Vec < BoundRange > , each_limit : u32 ) -> Self {
486450 BatchScanInner {
487451 ranges,
488452 each_limit,
@@ -519,9 +483,9 @@ pub struct DeleteRange {
519483}
520484
521485impl DeleteRange {
522- pub fn new ( client : Arc < RpcClient > , inner : DeleteRangeInner ) -> Self {
486+ pub fn new ( client : Arc < RpcClient > , range : BoundRange ) -> Self {
523487 Self {
524- state : RequestState :: new ( client, inner ) ,
488+ state : RequestState :: new ( client, DeleteRangeInner { range } ) ,
525489 }
526490 }
527491
@@ -544,12 +508,6 @@ pub struct DeleteRangeInner {
544508 range : BoundRange ,
545509}
546510
547- impl DeleteRangeInner {
548- pub fn new ( range : BoundRange ) -> Self {
549- DeleteRangeInner { range }
550- }
551- }
552-
553511impl RequestInner for DeleteRangeInner {
554512 type Resp = ( ) ;
555513
0 commit comments