1313import javax .net .ssl .SSLParameters ;
1414import javax .net .ssl .SSLSocketFactory ;
1515
16- import redis .clients .jedis .args .ListDirection ;
16+ import redis .clients .jedis .args .* ;
1717import redis .clients .jedis .commands .*;
1818import redis .clients .jedis .params .*;
19- import redis .clients .jedis .args . UnblockType ;
19+ import redis .clients .jedis .resps .* ;
2020import redis .clients .jedis .util .SafeEncoder ;
2121import redis .clients .jedis .util .Slowlog ;
2222
@@ -2185,8 +2185,15 @@ public List<String> blpop(final int timeout, final String... keys) {
21852185 }
21862186
21872187 @ Override
2188- public List <String > blpop (final double timeout , final String ... keys ) {
2189- return blpop (getKeysAndTimeout (timeout , keys ));
2188+ public KeyedListElement blpop (final double timeout , final String ... keys ) {
2189+ checkIsInMultiOrPipeline ();
2190+ client .blpop (timeout , keys );
2191+ client .setTimeoutInfinite ();
2192+ try {
2193+ return BuilderFactory .KEYED_LIST_ELEMENT .build (client .getMultiBulkReply ());
2194+ } finally {
2195+ client .rollbackTimeout ();
2196+ }
21902197 }
21912198
21922199 /**
@@ -2257,8 +2264,15 @@ public List<String> brpop(final int timeout, final String... keys) {
22572264 }
22582265
22592266 @ Override
2260- public List <String > brpop (final double timeout , final String ... keys ) {
2261- return brpop (getKeysAndTimeout (timeout , keys ));
2267+ public KeyedListElement brpop (final double timeout , final String ... keys ) {
2268+ checkIsInMultiOrPipeline ();
2269+ client .brpop (timeout , keys );
2270+ client .setTimeoutInfinite ();
2271+ try {
2272+ return BuilderFactory .KEYED_LIST_ELEMENT .build (client .getMultiBulkReply ());
2273+ } finally {
2274+ client .rollbackTimeout ();
2275+ }
22622276 }
22632277
22642278 private String [] getKeysAndTimeout (int timeout , String [] keys ) {
@@ -2271,16 +2285,6 @@ private String[] getKeysAndTimeout(int timeout, String[] keys) {
22712285 return args ;
22722286 }
22732287
2274- private String [] getKeysAndTimeout (double timeout , String [] keys ) {
2275- final int keyCount = keys .length ;
2276- final String [] args = new String [keyCount + 1 ];
2277-
2278- System .arraycopy (keys , 0 , args , 0 , keyCount );
2279-
2280- args [keyCount ] = String .valueOf (timeout );
2281- return args ;
2282- }
2283-
22842288 @ Override
22852289 public List <String > blpop (final String ... args ) {
22862290 checkIsInMultiOrPipeline ();
@@ -2306,24 +2310,24 @@ public List<String> brpop(final String... args) {
23062310 }
23072311
23082312 @ Override
2309- public KeyedTuple bzpopmax (double timeout , String ... keys ) {
2313+ public KeyedZSetElement bzpopmax (double timeout , String ... keys ) {
23102314 checkIsInMultiOrPipeline ();
23112315 client .bzpopmax (timeout , keys );
23122316 client .setTimeoutInfinite ();
23132317 try {
2314- return BuilderFactory .KEYED_TUPLE .build (client .getObjectMultiBulkReply ());
2318+ return BuilderFactory .KEYED_ZSET_ELEMENT .build (client .getObjectMultiBulkReply ());
23152319 } finally {
23162320 client .rollbackTimeout ();
23172321 }
23182322 }
23192323
23202324 @ Override
2321- public KeyedTuple bzpopmin (double timeout , String ... keys ) {
2325+ public KeyedZSetElement bzpopmin (double timeout , String ... keys ) {
23222326 checkIsInMultiOrPipeline ();
23232327 client .bzpopmin (timeout , keys );
23242328 client .setTimeoutInfinite ();
23252329 try {
2326- return BuilderFactory .KEYED_TUPLE .build (client .getObjectMultiBulkReply ());
2330+ return BuilderFactory .KEYED_ZSET_ELEMENT .build (client .getObjectMultiBulkReply ());
23272331 } finally {
23282332 client .rollbackTimeout ();
23292333 }
@@ -2335,8 +2339,8 @@ public List<String> blpop(final int timeout, final String key) {
23352339 }
23362340
23372341 @ Override
2338- public List < String > blpop (double timeout , String key ) {
2339- return blpop (key , String . valueOf ( timeout ) );
2342+ public KeyedListElement blpop (double timeout , String key ) {
2343+ return blpop (timeout , new String []{ key } );
23402344 }
23412345
23422346 @ Override
@@ -2345,8 +2349,8 @@ public List<String> brpop(final int timeout, final String key) {
23452349 }
23462350
23472351 @ Override
2348- public List < String > brpop (double timeout , String key ) {
2349- return brpop (key , String . valueOf ( timeout ) );
2352+ public KeyedListElement brpop (double timeout , String key ) {
2353+ return brpop (timeout , new String []{ key } );
23502354 }
23512355
23522356 @ Override
0 commit comments