Adding default cache stub

This commit is contained in:
Sahil Palvia 2017-09-18 16:32:54 -07:00
parent c70ab1fc72
commit 66b809ef7b
2 changed files with 48 additions and 7 deletions

View file

@ -0,0 +1,48 @@
package com.amazonaws.services.kinesis.clientlibrary.lib.worker;
import java.util.Optional;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import com.amazonaws.services.kinesis.model.GetRecordsResult;
import lombok.NonNull;
import lombok.extern.apachecommons.CommonsLog;
/**
*
*/
@CommonsLog
public class DefaultGetRecordsCache implements GetRecordsCache {
private static final int DEFAULT_MAX_SIZE = 1;
private static final int DEFAULT_MAX_BYTE_SIZE = 1;
private static final int DEFAULT_MAX_RECORDS_COUNT = 1;
private final Queue<GetRecordsResult> getRecordsResultQueue;
private final int maxSize;
private final int maxByteSize;
private final int maxRecordsCount;
private final int maxRecordsPerCall;
@NonNull
private final GetRecordsRetrievalStrategy getRecordsRetrievalStrategy;
public DefaultGetRecordsCache(final Optional<Integer> maxSize, final Optional<Integer> maxByteSize, final Optional<Integer> maxRecordsCount,
final int maxRecordsPerCall, final GetRecordsRetrievalStrategy getRecordsRetrievalStrategy) {
this.getRecordsResultQueue = new ConcurrentLinkedQueue<>();
this.maxSize = maxSize.orElse(DEFAULT_MAX_SIZE);
this.maxByteSize = maxByteSize.orElse(DEFAULT_MAX_BYTE_SIZE);
this.maxRecordsCount = maxRecordsCount.orElse(DEFAULT_MAX_RECORDS_COUNT);
this.maxRecordsPerCall = maxRecordsPerCall;
this.getRecordsRetrievalStrategy = getRecordsRetrievalStrategy;
}
@Override
public GetRecordsResult getNextResult() {
return null;
}
@Override
public void shutdown() {
}
}

View file

@ -6,11 +6,6 @@ import com.amazonaws.services.kinesis.model.GetRecordsResult;
* This class is used as a cache for Prefetching data from Kinesis. * This class is used as a cache for Prefetching data from Kinesis.
*/ */
public interface GetRecordsCache { public interface GetRecordsCache {
/**
* This method dispatches the next call to getRecords from Kinesis.
*/
void dispatchNextCall();
/** /**
* This method returns the next set of records from the Cache if present, or blocks the request till it gets the * This method returns the next set of records from the Cache if present, or blocks the request till it gets the
* next set of records back from Kinesis. * next set of records back from Kinesis.
@ -19,7 +14,5 @@ public interface GetRecordsCache {
*/ */
GetRecordsResult getNextResult(); GetRecordsResult getNextResult();
void addGetRecordsResultToCache(GetRecordsResult getRecordsResult);
void shutdown(); void shutdown();
} }