Class S3StorageDriver<I extends com.emc.mongoose.base.item.Item,O extends com.emc.mongoose.base.item.op.Operation<I>>
- java.lang.Object
-
- com.github.akurilov.commons.concurrent.AsyncRunnableBase
-
- com.emc.mongoose.base.concurrent.DaemonBase
-
- com.emc.mongoose.base.storage.driver.StorageDriverBase<I,O>
-
- com.emc.mongoose.storage.driver.coop.CoopStorageDriverBase<I,O>
-
- com.emc.mongoose.storage.driver.coop.netty.NettyStorageDriverBase<I,O>
-
- com.emc.mongoose.storage.driver.coop.netty.http.HttpStorageDriverBase<I,O>
-
- com.emc.mongoose.storage.driver.coop.netty.http.s3.S3StorageDriver<I,O>
-
- All Implemented Interfaces:
com.emc.mongoose.base.concurrent.Daemon,com.emc.mongoose.base.storage.driver.StorageDriver<I,O>,com.emc.mongoose.storage.driver.coop.netty.http.HttpStorageDriver<I,O>,com.emc.mongoose.storage.driver.coop.netty.NettyStorageDriver<I,O>,com.github.akurilov.commons.concurrent.AsyncRunnable,com.github.akurilov.commons.io.Input<O>,com.github.akurilov.commons.io.Output<O>,io.netty.channel.pool.ChannelPoolHandler,java.io.Closeable,java.lang.AutoCloseable,java.util.function.Consumer<O>,java.util.function.Supplier<O>
public class S3StorageDriver<I extends com.emc.mongoose.base.item.Item,O extends com.emc.mongoose.base.item.op.Operation<I>> extends com.emc.mongoose.storage.driver.coop.netty.http.HttpStorageDriverBase<I,O>Created by kurila on 01.08.16.
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanfsAccessprotected booleanversioning-
Fields inherited from class com.emc.mongoose.storage.driver.coop.netty.http.HttpStorageDriverBase
dynamicHeaders, httpReqSentCallback, sharedHeaders
-
Fields inherited from class com.emc.mongoose.storage.driver.coop.netty.NettyStorageDriverBase
bootstrap, connAttemptsLimit, netTimeoutMilliSec, reqSentCallback, storageNodeAddrs, storageNodePort
-
Fields inherited from class com.emc.mongoose.storage.driver.coop.CoopStorageDriverBase
childOpQueue, concurrencyThrottle
-
Fields inherited from class com.emc.mongoose.base.storage.driver.StorageDriverBase
authTokens, concurrencyLimit, credential, ioWorkerCount, namespace, pathToCredMap, requestAuthTokenFunc, requestNewPathFunc, stepId, verifyFlag
-
Fields inherited from interface com.emc.mongoose.storage.driver.coop.netty.http.HttpStorageDriver
CHUNK_SIZE, HEADERS_LEN, KEY_CONTENT, REQ_LINE_LEN
-
-
Constructor Summary
Constructors Constructor Description S3StorageDriver(java.lang.String stepId, com.emc.mongoose.base.data.DataInput itemDataInput, com.github.akurilov.confuse.Config storageConfig, boolean verifyFlag, int batchSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidappendHandlers(io.netty.channel.Channel channel)protected voidapplyAuthHeaders(io.netty.handler.codec.http.HttpHeaders httpHeaders, io.netty.handler.codec.http.HttpMethod httpMethod, java.lang.String dstUriPath, com.emc.mongoose.base.storage.Credential credential)protected voidapplyCopyHeaders(io.netty.handler.codec.http.HttpHeaders httpHeaders, java.lang.String srcPath)protected voidapplyMetaDataHeaders(io.netty.handler.codec.http.HttpHeaders httpHeaders)voidcomplete(io.netty.channel.Channel channel, O op)protected voidenableBucketVersioning(java.lang.String nodeAddr, java.lang.String bucketVersioningReqUri)protected java.lang.StringgetCanonical(io.netty.handler.codec.http.HttpHeaders httpHeaders, io.netty.handler.codec.http.HttpMethod httpMethod, java.lang.String dstUriPath)protected voidhandleCheckBucketVersioningResponse(io.netty.handler.codec.http.FullHttpResponse getBucketVersioningResp, java.lang.String nodeAddr, java.lang.String bucketVersioningReqUri)protected io.netty.handler.codec.http.HttpRequesthttpRequest(O op, java.lang.String nodeAddr)java.util.List<I>list(com.emc.mongoose.base.item.ItemFactory<I> itemFactory, java.lang.String path, java.lang.String prefix, int idRadix, I lastPrevItem, int count)protected io.netty.handler.codec.http.HttpMethodpathHttpMethod(com.emc.mongoose.base.item.op.OpType opType)protected java.lang.StringpathUriPath(I item, java.lang.String srcPath, java.lang.String dstPath, com.emc.mongoose.base.item.op.OpType opType)protected java.lang.StringrequestNewAuthToken(com.emc.mongoose.base.storage.Credential credential)protected java.lang.StringrequestNewPath(java.lang.String path)protected io.netty.handler.codec.http.HttpMethodtokenHttpMethod(com.emc.mongoose.base.item.op.OpType opType)protected java.lang.StringtokenUriPath(I item, java.lang.String srcPath, java.lang.String dstPath, com.emc.mongoose.base.item.op.OpType opType)java.lang.StringtoString()-
Methods inherited from class com.emc.mongoose.storage.driver.coop.netty.http.HttpStorageDriverBase
applyDynamicHeaders, applyRangesHeaders, applySharedHeaders, dataHttpMethod, dataUriPath, doClose, executeHttpRequest, rangeListToStringBuff, sendRequest, uriQuery
-
Methods inherited from class com.emc.mongoose.storage.driver.coop.netty.NettyStorageDriverBase
adjustIoBuffers, channelAcquired, channelCreated, channelReleased, createConnectionPool, doStart, doStop, getUnpooledConnection, sendRequestData, submit, submit, submit
-
Methods inherited from class com.emc.mongoose.storage.driver.coop.CoopStorageDriverBase
activeOpCount, await, completedOpCount, doShutdown, handleCompleted, isIdle, put, put, put, scheduledOpCount
-
Methods inherited from class com.emc.mongoose.base.storage.driver.StorageDriverBase
concurrencyLimit, get, get, getInput, hasRemainingResults, prepare, skip
-
Methods inherited from class com.github.akurilov.commons.concurrent.AsyncRunnableBase
await, isClosed, isInitial, isShutdown, isStarted, isStopped, shutdown, start, state, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
S3StorageDriver
public S3StorageDriver(java.lang.String stepId, com.emc.mongoose.base.data.DataInput itemDataInput, com.github.akurilov.confuse.Config storageConfig, boolean verifyFlag, int batchSize) throws com.emc.mongoose.base.config.IllegalConfigurationException, java.lang.InterruptedException- Throws:
com.emc.mongoose.base.config.IllegalConfigurationExceptionjava.lang.InterruptedException
-
-
Method Detail
-
requestNewPath
protected java.lang.String requestNewPath(java.lang.String path)
-
handleCheckBucketVersioningResponse
protected void handleCheckBucketVersioningResponse(io.netty.handler.codec.http.FullHttpResponse getBucketVersioningResp, java.lang.String nodeAddr, java.lang.String bucketVersioningReqUri)
-
enableBucketVersioning
protected void enableBucketVersioning(java.lang.String nodeAddr, java.lang.String bucketVersioningReqUri)
-
requestNewAuthToken
protected final java.lang.String requestNewAuthToken(com.emc.mongoose.base.storage.Credential credential)
-
list
public final java.util.List<I> list(com.emc.mongoose.base.item.ItemFactory<I> itemFactory, java.lang.String path, java.lang.String prefix, int idRadix, I lastPrevItem, int count) throws java.io.IOException
- Throws:
java.io.IOException
-
httpRequest
protected io.netty.handler.codec.http.HttpRequest httpRequest(O op, java.lang.String nodeAddr) throws java.net.URISyntaxException
-
tokenHttpMethod
protected final io.netty.handler.codec.http.HttpMethod tokenHttpMethod(com.emc.mongoose.base.item.op.OpType opType)
-
pathHttpMethod
protected final io.netty.handler.codec.http.HttpMethod pathHttpMethod(com.emc.mongoose.base.item.op.OpType opType)
-
tokenUriPath
protected final java.lang.String tokenUriPath(I item, java.lang.String srcPath, java.lang.String dstPath, com.emc.mongoose.base.item.op.OpType opType)
-
pathUriPath
protected final java.lang.String pathUriPath(I item, java.lang.String srcPath, java.lang.String dstPath, com.emc.mongoose.base.item.op.OpType opType)
-
applyMetaDataHeaders
protected void applyMetaDataHeaders(io.netty.handler.codec.http.HttpHeaders httpHeaders)
-
complete
public void complete(io.netty.channel.Channel channel, O op)- Specified by:
completein interfacecom.emc.mongoose.storage.driver.coop.netty.NettyStorageDriver<I extends com.emc.mongoose.base.item.Item,O extends com.emc.mongoose.base.item.op.Operation<I>>- Overrides:
completein classcom.emc.mongoose.storage.driver.coop.netty.NettyStorageDriverBase<I extends com.emc.mongoose.base.item.Item,O extends com.emc.mongoose.base.item.op.Operation<I>>
-
appendHandlers
protected final void appendHandlers(io.netty.channel.Channel channel)
-
applyCopyHeaders
protected final void applyCopyHeaders(io.netty.handler.codec.http.HttpHeaders httpHeaders, java.lang.String srcPath) throws java.net.URISyntaxException
-
applyAuthHeaders
protected final void applyAuthHeaders(io.netty.handler.codec.http.HttpHeaders httpHeaders, io.netty.handler.codec.http.HttpMethod httpMethod, java.lang.String dstUriPath, com.emc.mongoose.base.storage.Credential credential)
-
getCanonical
protected java.lang.String getCanonical(io.netty.handler.codec.http.HttpHeaders httpHeaders, io.netty.handler.codec.http.HttpMethod httpMethod, java.lang.String dstUriPath)
-
-