17 #ifndef ILOGSTORAGE_HPP_
18 #define ILOGSTORAGE_HPP_
31 class ILogStorageStatus;
61 typedef std::pair<RecordBlockId, RecordBlock>
RecordPack;
std::list< LogRecordPtr > RecordBlock
The alias for the log block container.
virtual void notifyUploadFailed(RecordBlockId id)=0
Notifies of the delivery of the log block marked by the specified id has been failed.
virtual ILogStorageStatus & getStatus()=0
Returns the current log storage status.
std::pair< RecordBlockId, RecordBlock > RecordPack
The alias for the log block marked by the unique identifier.
virtual void addLogRecord(LogRecordPtr record)=0
Adds the log record to the storage.
virtual RecordPack getRecordBlock(std::size_t blockSize)=0
Returns the block of log records which total size is less or equal to the specified block size...
std::shared_ptr< ILogStorage > ILogStoragePtr
std::int32_t RecordBlockId
The alias for the unique identifier of the requested log block.
virtual void removeRecordBlock(RecordBlockId id)=0
Removes the log block marked by the specified id.
std::shared_ptr< LogRecord > LogRecordPtr
The public interface to access to the log storage.
The public interface to represent the current log storage state.