Skip to content
This repository has been archived by the owner on Aug 23, 2024. It is now read-only.

Releases: bradynpoulsen/aws-sdk-kotlin-coroutines

0.2.0

21 Dec 01:29
8c3022c
Compare
Choose a tag to compare
0.2.0 Pre-release
Pre-release
  • Renamed awsCoroutine and awsBlockingCoroutine to suspendCommandAsync and suspendCommand respectively. Since the AWS SDK uses executor threads to perform blocking IO on, the the async variant is not any less "blocking" than its counterpart. To have control over which thread the blocking IO occurs on, use suspendCommand with a CoroutineDispatcher that's backed by a thread pool.
  • suspendCommand is an extension of CoroutineScope to inherit the scope's Dispatcher. This is different compared to suspendCommandAsync which immediately hands-off to the AWS SDK executor service for dispatching the command and does not benefit from a CoroutineScope.

The two approaches for executing SDK commands with coroutines now are:

  • CoroutineScope.suspendCommand(client::command[, coroutineContext][, requestBuilder]): result
  • suspendCommandAsync(client::commandAsync[, requestBuilder]): result

0.1.0

14 Dec 00:31
c92294b
Compare
Choose a tag to compare
0.1.0 Pre-release
Pre-release

Initial release of coroutine builder APIs for AWS SDK commands:

  • awsCoroutine(asyncCommand[, requestBuilder]): Executes an asynchronous SDK command
  • awsBlockingCoroutine(blockingCommand[, coroutineContext][, requestBuilder]): Executes a blocking SDK command on a separate dispatcher

All APIs have been annotated with @ExperimentalAwsCoroutineApi while commands are in pre-release.
You must opt-in to these experimental APIs using one of: