All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.nosqlbench.driver.pulsar.ops.PulsarReaderMapper Maven / Gradle / Ivy

Go to download

A Pulsar driver for nosqlbench. This provides the ability to inject synthetic data into a pulsar system.

There is a newer version: 4.15.102
Show newest version
package io.nosqlbench.driver.pulsar.ops;

import io.nosqlbench.driver.pulsar.PulsarActivity;
import io.nosqlbench.driver.pulsar.PulsarSpace;
import io.nosqlbench.engine.api.templating.CommandTemplate;
import org.apache.pulsar.client.api.Reader;
import org.apache.pulsar.client.api.Schema;

import java.util.function.LongFunction;

public class PulsarReaderMapper extends PulsarOpMapper {

    private final LongFunction> readerFunc;

    public PulsarReaderMapper(CommandTemplate cmdTpl,
                              PulsarSpace clientSpace,
                              PulsarActivity pulsarActivity,
                              LongFunction asyncApiFunc,
                              LongFunction> readerFunc)
    {
        super(cmdTpl, clientSpace, pulsarActivity, asyncApiFunc);
        this.readerFunc = readerFunc;
    }

    @Override
    public PulsarOp apply(long value) {
        Reader reader = readerFunc.apply(value);
        boolean asyncApi = asyncApiFunc.apply(value);

        return new PulsarReaderOp(
            reader,
            clientSpace.getPulsarSchema(),
            asyncApi
        );
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy