@Override @SuppressWarnings("unchecked") public <T> Flux<T> execute(RedisScript<T> script, List<K> keys, List<?> args, RedisElementWriter<?> argsWriter, RedisElementReader<T> resultReader) { Assert.notNull(script, "RedisScript must not be null!"); Assert.notNull(argsWriter, "Argument Writer must not be null!"); Assert.notNull(resultReader, "Result Reader must not be null!"); Assert.notNull(keys, "Keys must not be null!"); Assert.notNull(args, "Args must not be null!"); return execute(connection -> { ReturnType returnType = ReturnType.fromJavaType(script.getResultType()); ByteBuffer[] keysAndArgs = keysAndArgs(argsWriter, keys, args); int keySize = keys.size(); return eval(connection, script, returnType, keySize, keysAndArgs, resultReader); }); }
@Override @SuppressWarnings("unchecked") public <T> Flux<T> execute(RedisScript<T> script, List<K> keys, List<?> args, RedisElementWriter<?> argsWriter, RedisElementReader<T> resultReader) { Assert.notNull(script, "RedisScript must not be null!"); Assert.notNull(argsWriter, "Argument Writer must not be null!"); Assert.notNull(resultReader, "Result Reader must not be null!"); Assert.notNull(keys, "Keys must not be null!"); Assert.notNull(args, "Args must not be null!"); return execute(connection -> { ReturnType returnType = ReturnType.fromJavaType(script.getResultType()); ByteBuffer[] keysAndArgs = keysAndArgs(argsWriter, keys, args); int keySize = keys.size(); return eval(connection, script, returnType, keySize, keysAndArgs, resultReader); }); }
@Override @SuppressWarnings("unchecked") public <T> Flux<T> execute(RedisScript<T> script, List<K> keys, List<?> args, RedisElementWriter<?> argsWriter, RedisElementReader<T> resultReader) { Assert.notNull(script, "RedisScript must not be null!"); Assert.notNull(argsWriter, "Argument Writer must not be null!"); Assert.notNull(resultReader, "Result Reader must not be null!"); Assert.notNull(keys, "Keys must not be null!"); Assert.notNull(args, "Args must not be null!"); return execute(connection -> { ReturnType returnType = ReturnType.fromJavaType(script.getResultType()); ByteBuffer[] keysAndArgs = keysAndArgs(argsWriter, keys, args); int keySize = keys.size(); return eval(connection, script, returnType, keySize, keysAndArgs, resultReader); }); }