@@ -74,6 +74,10 @@ pub trait RequestCodecExt: RequestCodec {
74
74
keys. into_iter ( ) . map ( |key| self . encode_key ( key) ) . collect ( )
75
75
}
76
76
77
+ fn encode_secondaries ( & self , secondaries : Vec < Vec < u8 > > ) -> Vec < Vec < u8 > > {
78
+ self . encode_keys ( secondaries)
79
+ }
80
+
77
81
fn encode_pairs ( & self , mut pairs : Vec < kvrpcpb:: KvPair > ) -> Vec < kvrpcpb:: KvPair > {
78
82
for pair in pairs. iter_mut ( ) {
79
83
* pair. mut_key ( ) = self . encode_key ( pair. take_key ( ) ) ;
@@ -217,18 +221,18 @@ pub trait Mode: Clone + Copy + Sync + Send + 'static {
217
221
const MAX_KEY : & ' static [ u8 ] = & [ Self :: PREFIX + 1 , 0 , 0 , 0 ] ;
218
222
}
219
223
220
- #[ derive( Clone , Copy ) ]
224
+ #[ derive( Default , Clone , Copy ) ]
221
225
pub struct RawMode ;
222
226
223
- #[ derive( Clone , Copy ) ]
227
+ #[ derive( Default , Clone , Copy ) ]
224
228
pub struct TxnMode ;
225
229
226
230
impl Mode for RawMode {
227
231
const PREFIX : u8 = b'r' ;
228
232
}
229
233
230
234
impl Mode for TxnMode {
231
- const PREFIX : u8 = b't ' ;
235
+ const PREFIX : u8 = b'x ' ;
232
236
}
233
237
234
238
#[ derive( Clone ) ]
@@ -263,12 +267,21 @@ impl RequestCodec for ApiV1<TxnMode> {
263
267
264
268
impl TxnCodec for ApiV1 < TxnMode > { }
265
269
266
- #[ derive( Clone , Copy , Default ) ]
270
+ #[ derive( Clone , Copy ) ]
267
271
pub struct KeySpace < M : Mode > {
268
272
id : KeySpaceId ,
269
273
_phantom : PhantomData < M > ,
270
274
}
271
275
276
+ impl < M : Mode > Default for KeySpace < M > {
277
+ fn default ( ) -> Self {
278
+ KeySpace {
279
+ id : KeySpaceId :: default ( ) ,
280
+ _phantom : PhantomData ,
281
+ }
282
+ }
283
+ }
284
+
272
285
impl < M : Mode > From < KeySpace < M > > for Prefix {
273
286
fn from ( s : KeySpace < M > ) -> Self {
274
287
[ M :: PREFIX , s. id [ 0 ] , s. id [ 1 ] , s. id [ 2 ] ]
0 commit comments