/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.livedata.firehose;
import java.io.IOException;
import java.io.InputStream;
/**
* Abstraction of the stream decoder. The input stream is processed and discrete records returned.
*
* @param <Record> the record representation
*/
public interface RecordStream<Record> {
/**
* Factory interface for constructing new record streams.
*
* @param <Record> the record representation
*/
interface Factory<Record> {
RecordStream<Record> newInstance(InputStream input);
}
Record readRecord() throws IOException;
}