Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update coroutines #126

Merged
merged 1 commit into from
Dec 9, 2020
Merged

Update coroutines #126

merged 1 commit into from
Dec 9, 2020

Conversation

whyoleg
Copy link
Member

@whyoleg whyoleg commented Dec 8, 2020

  • minor: kotlin 1.4.21
  • coroutines 1.4.2-native-mt
  • Use Flow.stateIn operator from coroutines 1.4.x in reconnectable implementation
  • minor: Rename Cancelable to Cancellable (double L)
  • use CompletableJob in Cancellable interface for better connection state handling
  • use CompletableJob.completeExceptionally instead of Job.cancel in places, where error should happen
  • use new channel API with onUndeliveredElement (yet workaround for Unlimited channel doesn't correctly invoke onUndeliveredElement on cancellation Kotlin/kotlinx.coroutines#2435 left)
  • introduce SendChannel.safeOffer for better releasing of frames/payloads if channel is closed
  • better channel handing in TCP and local transports

Overall: less leaks and better structured concurrency

@whyoleg whyoleg added this to the 0.12.0 milestone Dec 8, 2020
@whyoleg whyoleg self-assigned this Dec 8, 2020
@whyoleg whyoleg marked this pull request as ready for review December 8, 2020 18:35
Copy link
Member

@OlegDokuka OlegDokuka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@whyoleg whyoleg merged commit 17ce10d into master Dec 9, 2020
@whyoleg whyoleg deleted the task/update-coroutines branch December 9, 2020 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants