2 Serial element
A serial element is a sequence of octets uniquely identified by a 64 bit integer called a Seid.
Serial elements are recorded in an LSS.
The serial elements are like byte streams, in that they are both read and written in the manner of an I/O stream. In fact a single serial element can be much larger than the available physical memory, and yet can be read or written efficiently as a stream of octets.
The stream interfaces are defined in Ceda/cxUtils/StreamInterfaces.h as follows:
struct IInputStream
{
virtual ~IInputStream() {}
virtual ssize_t ReadStream(void* buffer, ssize_t numBytesRequested) = 0;
};
struct ICloseableInputStream : public IInputStream
{
virtual void Close() = 0;
};
struct IOutputStream
{
virtual ~IOutputStream() {}
virtual void WriteStream(const void* buffer, ssize_t numBytes) = 0;
virtual void FlushStream() = 0;
};
struct ICloseableOutputStream : public IOutputStream
{
virtual void Close() = 0;
};