package uk.ac.imperial.lsds.seepcontrib.kafka.comm; import java.util.List; import uk.ac.imperial.lsds.seep.api.DataStoreType; import uk.ac.imperial.lsds.seep.api.data.ITuple; import uk.ac.imperial.lsds.seep.api.data.Schema; import uk.ac.imperial.lsds.seep.core.IBuffer; import uk.ac.imperial.lsds.seep.core.InputAdapter; import uk.ac.imperial.lsds.seep.core.InputAdapterReturnType; public class KafkaDataStream implements InputAdapter { final private short RETURN_TYPE = InputAdapterReturnType.ONE.ofType(); final private DataStoreType TYPE = DataStoreType.KAFKA; final private int streamId; private ITuple iTuple; private IBuffer buffer; public KafkaDataStream(int streamId, IBuffer buffer, Schema expectedSchema) { this.streamId = streamId; this.iTuple = new ITuple(expectedSchema); } @Override public int getStreamId() { return streamId; } @Override public short returnType() { return RETURN_TYPE; } @Override public DataStoreType getDataStoreType() { return TYPE; } @Override public List<ITuple> pullDataItems(int timeout) { // TODO Auto-generated method stub return null; } @Override public ITuple pullDataItem(int timeout) { byte[] data = buffer.read(timeout); if(data == null) { return null; } iTuple.setData(data); iTuple.setStreamId(streamId); return iTuple; } }