Search in sources :

Example 1 with LuaOutputStream

use of com.aerospike.client.lua.LuaOutputStream in project aerospike-client-java by aerospike.

the class QueryAggregateExecutor method runThreads.

public void runThreads() throws AerospikeException {
    try {
        // Start thread queries to each node.
        startThreads();
        lua.loadPackage(statement);
        LuaValue[] args = new LuaValue[4 + statement.getFunctionArgs().length];
        args[0] = lua.getFunction(statement.getFunctionName());
        args[1] = LuaInteger.valueOf(2);
        args[2] = new LuaInputStream(inputQueue);
        args[3] = new LuaOutputStream(resultSet);
        int count = 4;
        for (Value value : statement.getFunctionArgs()) {
            args[count++] = value.getLuaValue(lua);
        }
        lua.call("apply_stream", args);
    } finally {
        // Send end command to user's result set.
        // If query was already cancelled, this put will be ignored.
        resultSet.put(ResultSet.END);
    }
}
Also used : LuaInputStream(com.aerospike.client.lua.LuaInputStream) LuaOutputStream(com.aerospike.client.lua.LuaOutputStream) LuaValue(org.luaj.vm2.LuaValue) Value(com.aerospike.client.Value) LuaValue(org.luaj.vm2.LuaValue)

Aggregations

Value (com.aerospike.client.Value)1 LuaInputStream (com.aerospike.client.lua.LuaInputStream)1 LuaOutputStream (com.aerospike.client.lua.LuaOutputStream)1 LuaValue (org.luaj.vm2.LuaValue)1