public class ExtendedS3Storage
extends java.lang.Object
implements io.pravega.segmentstore.storage.SyncStorage
| Constructor and Description |
|---|
ExtendedS3Storage(com.emc.object.s3.S3Client client,
ExtendedS3StorageConfig config) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
void |
concat(io.pravega.segmentstore.storage.SegmentHandle targetHandle,
long offset,
java.lang.String sourceSegment) |
io.pravega.segmentstore.storage.SegmentHandle |
create(java.lang.String streamSegmentName) |
void |
delete(io.pravega.segmentstore.storage.SegmentHandle handle) |
boolean |
exists(java.lang.String streamSegmentName) |
io.pravega.segmentstore.contracts.SegmentProperties |
getStreamSegmentInfo(java.lang.String streamSegmentName) |
void |
initialize(long containerEpoch)
Initialize is a no op here as we do not need a locking mechanism in case of file system write.
|
io.pravega.segmentstore.storage.SegmentHandle |
openRead(java.lang.String streamSegmentName) |
io.pravega.segmentstore.storage.SegmentHandle |
openWrite(java.lang.String streamSegmentName) |
int |
read(io.pravega.segmentstore.storage.SegmentHandle handle,
long offset,
byte[] buffer,
int bufferOffset,
int length) |
void |
seal(io.pravega.segmentstore.storage.SegmentHandle handle) |
boolean |
supportsTruncation() |
void |
truncate(io.pravega.segmentstore.storage.SegmentHandle handle,
long offset) |
void |
unseal(io.pravega.segmentstore.storage.SegmentHandle handle) |
void |
write(io.pravega.segmentstore.storage.SegmentHandle handle,
long offset,
java.io.InputStream data,
int length) |
public ExtendedS3Storage(com.emc.object.s3.S3Client client,
ExtendedS3StorageConfig config)
public void initialize(long containerEpoch)
initialize in interface io.pravega.segmentstore.storage.SyncStoragecontainerEpoch - The Container Epoch to initialize with (ignored here).public io.pravega.segmentstore.storage.SegmentHandle openRead(java.lang.String streamSegmentName)
throws io.pravega.segmentstore.contracts.StreamSegmentException
openRead in interface io.pravega.segmentstore.storage.SyncStorageio.pravega.segmentstore.contracts.StreamSegmentExceptionpublic int read(io.pravega.segmentstore.storage.SegmentHandle handle,
long offset,
byte[] buffer,
int bufferOffset,
int length)
throws io.pravega.segmentstore.contracts.StreamSegmentException
read in interface io.pravega.segmentstore.storage.SyncStorageio.pravega.segmentstore.contracts.StreamSegmentExceptionpublic io.pravega.segmentstore.contracts.SegmentProperties getStreamSegmentInfo(java.lang.String streamSegmentName)
throws io.pravega.segmentstore.contracts.StreamSegmentException
getStreamSegmentInfo in interface io.pravega.segmentstore.storage.SyncStorageio.pravega.segmentstore.contracts.StreamSegmentExceptionpublic boolean exists(java.lang.String streamSegmentName)
exists in interface io.pravega.segmentstore.storage.SyncStoragepublic io.pravega.segmentstore.storage.SegmentHandle openWrite(java.lang.String streamSegmentName)
throws io.pravega.segmentstore.contracts.StreamSegmentException
openWrite in interface io.pravega.segmentstore.storage.SyncStorageio.pravega.segmentstore.contracts.StreamSegmentExceptionpublic io.pravega.segmentstore.storage.SegmentHandle create(java.lang.String streamSegmentName)
throws io.pravega.segmentstore.contracts.StreamSegmentException
create in interface io.pravega.segmentstore.storage.SyncStorageio.pravega.segmentstore.contracts.StreamSegmentExceptionpublic void write(io.pravega.segmentstore.storage.SegmentHandle handle,
long offset,
java.io.InputStream data,
int length)
throws io.pravega.segmentstore.contracts.StreamSegmentException
write in interface io.pravega.segmentstore.storage.SyncStorageio.pravega.segmentstore.contracts.StreamSegmentExceptionpublic void seal(io.pravega.segmentstore.storage.SegmentHandle handle)
throws io.pravega.segmentstore.contracts.StreamSegmentException
seal in interface io.pravega.segmentstore.storage.SyncStorageio.pravega.segmentstore.contracts.StreamSegmentExceptionpublic void unseal(io.pravega.segmentstore.storage.SegmentHandle handle)
throws io.pravega.segmentstore.contracts.StreamSegmentException
unseal in interface io.pravega.segmentstore.storage.SyncStorageio.pravega.segmentstore.contracts.StreamSegmentExceptionpublic void concat(io.pravega.segmentstore.storage.SegmentHandle targetHandle,
long offset,
java.lang.String sourceSegment)
throws io.pravega.segmentstore.contracts.StreamSegmentException
concat in interface io.pravega.segmentstore.storage.SyncStorageio.pravega.segmentstore.contracts.StreamSegmentExceptionpublic void delete(io.pravega.segmentstore.storage.SegmentHandle handle)
throws io.pravega.segmentstore.contracts.StreamSegmentException
delete in interface io.pravega.segmentstore.storage.SyncStorageio.pravega.segmentstore.contracts.StreamSegmentExceptionpublic void truncate(io.pravega.segmentstore.storage.SegmentHandle handle,
long offset)
truncate in interface io.pravega.segmentstore.storage.SyncStoragepublic boolean supportsTruncation()
supportsTruncation in interface io.pravega.segmentstore.storage.SyncStoragepublic void close()
close in interface io.pravega.segmentstore.storage.SyncStorageclose in interface java.lang.AutoCloseable