MCPcopy Create free account
hub / github.com/aws/aws-cli / _submit_transfer

Method _submit_transfer

awscli/s3transfer/crt.py:321–361  ·  view source on GitHub ↗
(self, request_type, call_args)

Source from the content-addressed store, hash-verified

319 self._semaphore.release()
320
321 def _submit_transfer(self, request_type, call_args):
322 register_feature_id('S3_TRANSFER')
323 on_done_after_calls = [self._release_semaphore]
324 coordinator = CRTTransferCoordinator(
325 transfer_id=self._id_counter,
326 exception_translator=self._crt_exception_translator,
327 )
328 components = {
329 'meta': CRTTransferMeta(self._id_counter, call_args),
330 'coordinator': coordinator,
331 }
332 future = CRTTransferFuture(**components)
333 afterdone = AfterDoneHandler(coordinator)
334 on_done_after_calls.append(afterdone)
335
336 try:
337 self._semaphore.acquire()
338 on_queued = self._s3_args_creator.get_crt_callback(
339 future, 'queued'
340 )
341 on_queued()
342 crt_callargs = self._s3_args_creator.get_make_request_args(
343 request_type,
344 call_args,
345 coordinator,
346 future,
347 on_done_after_calls,
348 )
349 crt_s3_request = self._crt_s3_client.make_request(**crt_callargs)
350 except Exception as e:
351 coordinator.set_exception(e, True)
352 on_done = self._s3_args_creator.get_crt_callback(
353 future, 'done', after_subscribers=on_done_after_calls
354 )
355 on_done(error=e)
356 else:
357 coordinator.set_s3_request(crt_s3_request)
358 self._future_coordinators.append(coordinator)
359
360 self._id_counter += 1
361 return future
362
363
364class CRTTransferMeta(BaseTransferMeta):

Callers 3

downloadMethod · 0.95
uploadMethod · 0.95
deleteMethod · 0.95

Calls 11

set_exceptionMethod · 0.95
set_s3_requestMethod · 0.95
register_feature_idFunction · 0.90
CRTTransferMetaClass · 0.85
CRTTransferFutureClass · 0.85
AfterDoneHandlerClass · 0.85
get_crt_callbackMethod · 0.80
get_make_request_argsMethod · 0.80
make_requestMethod · 0.80
acquireMethod · 0.45

Tested by

no test coverage detected