Search in sources :

Example 1 with RequestGetFileUploadPartUrl

use of im.actor.core.api.rpc.RequestGetFileUploadPartUrl in project actor-platform by actorapp.

the class UploadTask method uploadPart.

private void uploadPart(final int blockIndex, final byte[] data, final int attempt) {
    api(new RequestGetFileUploadPartUrl(blockIndex, blockSize, uploadConfig)).flatMap(r -> HTTP.putMethod(r.getUrl(), data)).then(r -> {
        if (LOG) {
            Log.d(TAG, "Block #" + blockIndex + " uploaded");
        }
        uploadCount--;
        uploaded++;
        reportProgress(uploaded / (float) blocksCount);
        checkQueue();
    }).failure(e -> {
        if (e instanceof HTTPError) {
            HTTPError httpError = (HTTPError) e;
            if ((httpError.getErrorCode() >= 500 && httpError.getErrorCode() < 600) || httpError.getErrorCode() == 0) {
                int retryInSecs = DEFAULT_RETRY;
                if (LOG) {
                    Log.w(TAG, "Block #" + blockIndex + " upload error #" + httpError.getErrorCode() + " trying again in " + retryInSecs + " sec, attempt #" + (attempt + 1));
                }
                schedule(new Retry(blockIndex, data, attempt + 1), retryInSecs * 1000L);
                return;
            }
            if (LOG) {
                Log.w(TAG, "Block #" + blockIndex + " upload failure");
            }
            reportError();
        }
    });
}
Also used : ModuleContext(im.actor.core.modules.ModuleContext) ActorCancellable(im.actor.runtime.actors.ActorCancellable) ResponseGetFileUploadUrl(im.actor.core.api.rpc.ResponseGetFileUploadUrl) ResponseCommitFileUpload(im.actor.core.api.rpc.ResponseCommitFileUpload) Promise(im.actor.runtime.promise.Promise) OutputFile(im.actor.runtime.files.OutputFile) RpcException(im.actor.core.network.RpcException) Storage(im.actor.runtime.Storage) ModuleActor(im.actor.core.modules.ModuleActor) RequestCommitFileUpload(im.actor.core.api.rpc.RequestCommitFileUpload) RequestGetFileUploadUrl(im.actor.core.api.rpc.RequestGetFileUploadUrl) HTTPResponse(im.actor.runtime.http.HTTPResponse) FileReference(im.actor.core.entity.FileReference) FileSystemReference(im.actor.runtime.files.FileSystemReference) InputFile(im.actor.runtime.files.InputFile) RpcCallback(im.actor.core.network.RpcCallback) ActorRef(im.actor.runtime.actors.ActorRef) Log(im.actor.runtime.Log) HTTP(im.actor.runtime.HTTP) HTTPError(im.actor.runtime.http.HTTPError) CRC32(im.actor.runtime.crypto.CRC32) RequestGetFileUploadPartUrl(im.actor.core.api.rpc.RequestGetFileUploadPartUrl) HTTPError(im.actor.runtime.http.HTTPError) RequestGetFileUploadPartUrl(im.actor.core.api.rpc.RequestGetFileUploadPartUrl)

Aggregations

RequestCommitFileUpload (im.actor.core.api.rpc.RequestCommitFileUpload)1 RequestGetFileUploadPartUrl (im.actor.core.api.rpc.RequestGetFileUploadPartUrl)1 RequestGetFileUploadUrl (im.actor.core.api.rpc.RequestGetFileUploadUrl)1 ResponseCommitFileUpload (im.actor.core.api.rpc.ResponseCommitFileUpload)1 ResponseGetFileUploadUrl (im.actor.core.api.rpc.ResponseGetFileUploadUrl)1 FileReference (im.actor.core.entity.FileReference)1 ModuleActor (im.actor.core.modules.ModuleActor)1 ModuleContext (im.actor.core.modules.ModuleContext)1 RpcCallback (im.actor.core.network.RpcCallback)1 RpcException (im.actor.core.network.RpcException)1 HTTP (im.actor.runtime.HTTP)1 Log (im.actor.runtime.Log)1 Storage (im.actor.runtime.Storage)1 ActorCancellable (im.actor.runtime.actors.ActorCancellable)1 ActorRef (im.actor.runtime.actors.ActorRef)1 CRC32 (im.actor.runtime.crypto.CRC32)1 FileSystemReference (im.actor.runtime.files.FileSystemReference)1 InputFile (im.actor.runtime.files.InputFile)1 OutputFile (im.actor.runtime.files.OutputFile)1 HTTPError (im.actor.runtime.http.HTTPError)1