File::Mode mode = File::Read);
virtual ~SnappyFile();
+ virtual bool supportsOffsets() const;
+ virtual File::Offset currentOffset();
+ virtual void setCurrentOffset(const File::Offset &offset);
protected:
virtual bool rawOpen(const std::string &filename, File::Mode mode);
virtual bool rawWrite(const void *buffer, int length);
else
return 0;
}
+ inline bool endOfData() const
+ {
+ return m_stream.eof() && freeCacheSize() == 0;
+ }
void flushCache();
void createCache(size_t size);
void writeCompressedLength(uint32_t num);
size_t m_cacheSize;
char *m_compressedCache;
+
+ File::Offset m_currentOffset;
};
}