Search in sources :

Example 1 with RingbufferContainer

use of com.hazelcast.ringbuffer.impl.RingbufferContainer in project hazelcast by hazelcast.

the class AddOperation method run.

@Override
public void run() throws Exception {
    RingbufferContainer ringbuffer = getRingBufferContainer();
    //todo: move into ringbuffer.
    if (overflowPolicy == FAIL) {
        if (ringbuffer.remainingCapacity() < 1) {
            resultSequence = -1;
            return;
        }
    }
    resultSequence = ringbuffer.add(item);
}
Also used : RingbufferContainer(com.hazelcast.ringbuffer.impl.RingbufferContainer)

Example 2 with RingbufferContainer

use of com.hazelcast.ringbuffer.impl.RingbufferContainer in project hazelcast by hazelcast.

the class ReadManyOperation method beforeRun.

@Override
public void beforeRun() {
    RingbufferContainer ringbuffer = getRingBufferContainer();
    ringbuffer.checkBlockableReadSequence(startSequence);
}
Also used : RingbufferContainer(com.hazelcast.ringbuffer.impl.RingbufferContainer)

Example 3 with RingbufferContainer

use of com.hazelcast.ringbuffer.impl.RingbufferContainer in project hazelcast by hazelcast.

the class ReadManyOperation method shouldWait.

@Override
public boolean shouldWait() {
    if (resultSet == null) {
        resultSet = new ReadResultSetImpl(minSize, maxSize, getNodeEngine().getHazelcastInstance(), filter);
        sequence = startSequence;
    }
    RingbufferContainer ringbuffer = getRingBufferContainer();
    if (minSize == 0) {
        if (!ringbuffer.shouldWait(sequence)) {
            sequence = ringbuffer.readMany(sequence, resultSet);
        }
        return false;
    }
    if (resultSet.isMinSizeReached()) {
        // enough items have been read, we are done.
        return false;
    }
    if (ringbuffer.shouldWait(sequence)) {
        // the sequence is not readable
        return true;
    }
    sequence = ringbuffer.readMany(sequence, resultSet);
    return !resultSet.isMinSizeReached();
}
Also used : RingbufferContainer(com.hazelcast.ringbuffer.impl.RingbufferContainer) ReadResultSetImpl(com.hazelcast.ringbuffer.impl.ReadResultSetImpl)

Example 4 with RingbufferContainer

use of com.hazelcast.ringbuffer.impl.RingbufferContainer in project hazelcast by hazelcast.

the class ReadOneOperation method beforeRun.

@Override
public void beforeRun() throws Exception {
    RingbufferContainer ringbuffer = getRingBufferContainer();
    ringbuffer.checkBlockableReadSequence(sequence);
}
Also used : RingbufferContainer(com.hazelcast.ringbuffer.impl.RingbufferContainer)

Example 5 with RingbufferContainer

use of com.hazelcast.ringbuffer.impl.RingbufferContainer in project hazelcast by hazelcast.

the class ReadOneOperation method run.

@Override
public void run() throws Exception {
    RingbufferContainer ringbuffer = getRingBufferContainer();
    result = ringbuffer.read(sequence);
}
Also used : RingbufferContainer(com.hazelcast.ringbuffer.impl.RingbufferContainer)

Aggregations

RingbufferContainer (com.hazelcast.ringbuffer.impl.RingbufferContainer)13 RingbufferService (com.hazelcast.ringbuffer.impl.RingbufferService)4 HazelcastInstance (com.hazelcast.core.HazelcastInstance)2 Ringbuffer (com.hazelcast.ringbuffer.Ringbuffer)2 ParallelTest (com.hazelcast.test.annotation.ParallelTest)2 QuickTest (com.hazelcast.test.annotation.QuickTest)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 Test (org.junit.Test)2 Config (com.hazelcast.config.Config)1 ListenerConfig (com.hazelcast.config.ListenerConfig)1 ReliableTopicConfig (com.hazelcast.config.ReliableTopicConfig)1 RingbufferConfig (com.hazelcast.config.RingbufferConfig)1 ReadResultSetImpl (com.hazelcast.ringbuffer.impl.ReadResultSetImpl)1