14 #ifndef ossimS3StreamBuffer_HEADER 15 #define ossimS3StreamBuffer_HEADER 1 18 #include <aws/s3/S3Client.h> 73 std::ios_base::openmode mode);
76 std::ios_base::openmode mode);
97 virtual pos_type
seekoff(off_type offset, std::ios_base::seekdir dir,
98 std::ios_base::openmode __mode = std::ios_base::in | std::ios_base::out);
99 virtual pos_type
seekpos(pos_type pos,
100 std::ios_base::openmode mode = std::ios_base::in | std::ios_base::out);
101 virtual std::streamsize
xsgetn(char_type* s, std::streamsize
n);
119 mutable std::shared_ptr<Aws::S3::S3Client>
m_client;
std::vector< char > m_buffer
void setBytes(ossim_int64 startByte, ossim_int64 currentByte, ossim_int64 endByte)
bool getBlockRangeInBytes(ossim_int64 blockIndex, ossim_int64 &startRange, ossim_int64 &endRange) const
ossim_int64 getBlockIndex(ossim_int64 byteOffset) const
virtual std::streamsize xsgetn(char_type *s, std::streamsize n)
virtual pos_type seekpos(pos_type pos, std::ios_base::openmode mode=std::ios_base::in|std::ios_base::out)
Represents serializable keyword/value map.
virtual pos_type seekoff(off_type offset, std::ios_base::seekdir dir, std::ios_base::openmode __mode=std::ios_base::in|std::ios_base::out)
const ossim_int64 & getStartByte() const
ossim_int64 getOffsetFromEnd() const
This code was derived from https://gist.github.com/mshockwave.
ossim_uint64 getBlockSize() const
const ossim_int64 & getEndByte() const
bool withinWindow() const
void setCurrentByte(ossim_int64 currentByte)
ossim_int64 getOffsetFromStart() const
os2<< "> n<< " > nendobj n
unsigned long long ossim_uint64
const ossim_int64 & getCurrentByte() const
S3StreamBuffer * open(const char *connectionString, const ossimKeywordlist &options, std::ios_base::openmode mode)
virtual ~S3StreamBuffer()
std::shared_ptr< Aws::S3::S3Client > m_client
bool withinWindow() const
S3StreamBuffer(ossim_int64 blockSize=ossim::S3StreamDefaults::m_readBlocksize)
ossim_int64 getAbsoluteByteOffset() const
ossim_int64 m_currentBlockPosition
ossim_int64 getBlockOffset(ossim_int64 byteOffset) const
static ossim_int64 m_readBlocksize
ossim_int64 m_bufferActualDataSize
bool loadBlock(ossim_int64 absolutePosition)
ossim_int64 m_currentByte
ossim_uint64 getFileSize() const