1+ use std:: fmt:: Debug ;
2+ use std:: os:: raw:: c_void;
13use std:: ptr;
24use std:: string;
3- use std:: os:: raw:: c_void;
4- use std:: fmt:: Debug ;
55
66use libc:: size_t;
77
8- use crate :: raw;
98use crate :: error:: Error ;
10- use crate :: RedisString ;
11- use crate :: native_types:: RedisType ;
129use crate :: from_byte_string;
13- use crate :: RedisResult ;
14- use crate :: RedisError ;
1510use crate :: native_types:: redis_log;
11+ use crate :: native_types:: RedisType ;
12+ use crate :: raw;
13+ use crate :: RedisError ;
14+ use crate :: RedisResult ;
15+ use crate :: RedisString ;
1616
1717/// `RedisKey` is an abstraction over a Redis key that allows readonly
1818/// operations.
@@ -86,8 +86,7 @@ pub struct RedisKeyWritable {
8686impl RedisKeyWritable {
8787 pub fn open ( ctx : * mut raw:: RedisModuleCtx , key : & str ) -> RedisKeyWritable {
8888 let key_str = RedisString :: create ( ctx, key) ;
89- let key_inner =
90- raw:: open_key ( ctx, key_str. inner , to_raw_mode ( KeyMode :: ReadWrite ) ) ;
89+ let key_inner = raw:: open_key ( ctx, key_str. inner , to_raw_mode ( KeyMode :: ReadWrite ) ) ;
9190 RedisKeyWritable {
9291 ctx,
9392 key_inner,
@@ -138,31 +137,26 @@ impl RedisKeyWritable {
138137 pub fn is_empty ( & self ) -> bool {
139138 use raw:: KeyType ;
140139
141- let key_type: KeyType = unsafe {
142- raw:: RedisModule_KeyType . unwrap ( ) ( self . key_inner )
143- } . into ( ) ;
140+ let key_type: KeyType = unsafe { raw:: RedisModule_KeyType . unwrap ( ) ( self . key_inner ) } . into ( ) ;
144141
145142 key_type == KeyType :: Empty
146143 }
147144
148145 fn verify_type ( & self , redis_type : & RedisType ) -> RedisResult {
149146 use raw:: KeyType ;
150147
151- let key_type: KeyType = unsafe {
152- raw:: RedisModule_KeyType . unwrap ( ) ( self . key_inner )
153- } . into ( ) ;
148+ let key_type: KeyType = unsafe { raw:: RedisModule_KeyType . unwrap ( ) ( self . key_inner ) } . into ( ) ;
154149
155150 redis_log ( self . ctx , format ! ( "key type: {:?}" , key_type) . as_str ( ) ) ;
156151
157152 if key_type != KeyType :: Empty {
158153 // The key exists; check its type
159- let raw_type = unsafe {
160- raw:: RedisModule_ModuleTypeGetType . unwrap ( ) ( self . key_inner )
161- } ;
154+ let raw_type = unsafe { raw:: RedisModule_ModuleTypeGetType . unwrap ( ) ( self . key_inner ) } ;
162155
163156 if raw_type != * redis_type. raw_type . borrow ( ) {
164157 return Err ( RedisError :: String ( format ! (
165- "Existing key has wrong Redis type" ) ) ) ;
158+ "Existing key has wrong Redis type"
159+ ) ) ) ;
166160 }
167161
168162 redis_log ( self . ctx , "Existing key is of the correct type" ) ;
@@ -173,17 +167,19 @@ impl RedisKeyWritable {
173167 Ok ( "OK" . into ( ) )
174168 }
175169
176- pub fn get_value < T : Debug > ( & self , redis_type : & RedisType ) -> Result < Option < & mut T > , RedisError > {
170+ pub fn get_value < T : Debug > (
171+ & self ,
172+ redis_type : & RedisType ,
173+ ) -> Result < Option < & mut T > , RedisError > {
177174 self . verify_type ( redis_type) ?;
178175
179176 redis_log ( self . ctx , "Going to get value" ) ;
180177
181- let value = unsafe {
182- raw:: RedisModule_ModuleTypeGetValue . unwrap ( ) ( self . key_inner ) as * mut T
183- } ;
178+ let value =
179+ unsafe { raw:: RedisModule_ModuleTypeGetValue . unwrap ( ) ( self . key_inner ) as * mut T } ;
184180
185181 if value. is_null ( ) {
186- return Ok ( None )
182+ return Ok ( None ) ;
187183 }
188184
189185 let value = unsafe { & mut * value } ;
@@ -196,7 +192,10 @@ impl RedisKeyWritable {
196192 pub fn set_value < T : Debug > ( & self , redis_type : & RedisType , value : T ) -> Result < ( ) , RedisError > {
197193 self . verify_type ( redis_type) ?;
198194
199- redis_log ( self . ctx , format ! ( "1. Going to set value to {:?}" , & value) . as_str ( ) ) ;
195+ redis_log (
196+ self . ctx ,
197+ format ! ( "1. Going to set value to {:?}" , & value) . as_str ( ) ,
198+ ) ;
200199
201200 let value = Box :: into_raw ( Box :: new ( value) ) as * mut c_void ;
202201
@@ -208,7 +207,8 @@ impl RedisKeyWritable {
208207 * redis_type. raw_type . borrow ( ) ,
209208 value,
210209 )
211- } . into ( ) ;
210+ }
211+ . into ( ) ;
212212
213213 redis_log ( self . ctx , "3. Finished setting value" ) ;
214214
@@ -225,7 +225,6 @@ impl From<raw::Status> for Result<(), RedisError> {
225225 }
226226}
227227
228-
229228impl Drop for RedisKeyWritable {
230229 // Frees resources appropriately as a RedisKey goes out of scope.
231230 fn drop ( & mut self ) {
0 commit comments