@@ -74,6 +74,10 @@ pub trait RequestCodecExt: RequestCodec {
7474 keys. into_iter ( ) . map ( |key| self . encode_key ( key) ) . collect ( )
7575 }
7676
77+ fn encode_secondaries ( & self , secondaries : Vec < Vec < u8 > > ) -> Vec < Vec < u8 > > {
78+ self . encode_keys ( secondaries)
79+ }
80+
7781 fn encode_pairs ( & self , mut pairs : Vec < kvrpcpb:: KvPair > ) -> Vec < kvrpcpb:: KvPair > {
7882 for pair in pairs. iter_mut ( ) {
7983 * pair. mut_key ( ) = self . encode_key ( pair. take_key ( ) ) ;
@@ -217,18 +221,18 @@ pub trait Mode: Clone + Copy + Sync + Send + 'static {
217221 const MAX_KEY : & ' static [ u8 ] = & [ Self :: PREFIX + 1 , 0 , 0 , 0 ] ;
218222}
219223
220- #[ derive( Clone , Copy ) ]
224+ #[ derive( Default , Clone , Copy ) ]
221225pub struct RawMode ;
222226
223- #[ derive( Clone , Copy ) ]
227+ #[ derive( Default , Clone , Copy ) ]
224228pub struct TxnMode ;
225229
226230impl Mode for RawMode {
227231 const PREFIX : u8 = b'r' ;
228232}
229233
230234impl Mode for TxnMode {
231- const PREFIX : u8 = b't ' ;
235+ const PREFIX : u8 = b'x ' ;
232236}
233237
234238#[ derive( Clone ) ]
@@ -263,12 +267,21 @@ impl RequestCodec for ApiV1<TxnMode> {
263267
264268impl TxnCodec for ApiV1 < TxnMode > { }
265269
266- #[ derive( Clone , Copy , Default ) ]
270+ #[ derive( Clone , Copy ) ]
267271pub struct KeySpace < M : Mode > {
268272 id : KeySpaceId ,
269273 _phantom : PhantomData < M > ,
270274}
271275
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+
272285impl < M : Mode > From < KeySpace < M > > for Prefix {
273286 fn from ( s : KeySpace < M > ) -> Self {
274287 [ M :: PREFIX , s. id [ 0 ] , s. id [ 1 ] , s. id [ 2 ] ]
0 commit comments