Skip to content

Switch resume position tracking to byte count #611

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

Merged
merged 19 commits into from
Apr 7, 2019

Conversation

mostroverkhov
Copy link
Member

Also some simplification & performance improvements

@yschimke
Copy link
Member

yschimke commented Apr 1, 2019

I think this deserves more discussion. RSocket cpp implements this. But it wasn’t clear in the spec IIRC that it should be bytes vs frame counts. And RSocket js went with frame counts. The complexity of bytes vs frame counts doesn’t seem like a win. It’s a terrible checksum and frame counting seems like a better way forward

Sent with GitHawk

@mostroverkhov mostroverkhov requested a review from yschimke April 1, 2019 17:35
@mostroverkhov
Copy link
Member Author

mostroverkhov commented Apr 1, 2019

@yschimke positions are little simpler to implement. There are multiple PRs hanging on spec with opposite propositions. I think if the goal is having all 3 implementations aligned, It is easier to update java & js compared to c++

@yschimke
Copy link
Member

yschimke commented Apr 1, 2019

No objection from me if all converge. And spec is clear on bytes vs frames.

Sent with GitHawk

@robertroeser
Copy link
Member

@yschimke can you fix your pull request that makes bytes explicit and then we can update the rsocket spec.

@yschimke
Copy link
Member

yschimke commented Apr 1, 2019

@robertroeser done, but it's still a bit awkward. So critical extension frames still skip counting which doesn't seem great for a client and server staying in sync in reality. There are still holes here...

rsocket/rsocket#236

@yschimke
Copy link
Member

yschimke commented Apr 1, 2019

I don't think next iteration of this part of the spec should come from me, but I predict you will need one :)

@robertroeser
Copy link
Member

robertroeser commented Apr 1, 2019

@yschimke I merged it - we could extent the extension frames. We could add a flag to the extension frames that indicates that it is resumable so it can optionally be resumed

@mostroverkhov mostroverkhov changed the title Switch resume position tracking to byte count [WIP] Switch resume position tracking to byte count Apr 2, 2019
@mostroverkhov mostroverkhov force-pushed the resume-position-bytecount branch from d866d8f to 7212b3b Compare April 3, 2019 09:53
Signed-off-by: Maksym Ostroverkhov <[email protected]>
Signed-off-by: Maksym Ostroverkhov <[email protected]>
…x with simple onRemoteImpliedPosition(long) callback

Signed-off-by: Maksym Ostroverkhov <[email protected]>
Signed-off-by: Maksym Ostroverkhov <[email protected]>
Signed-off-by: Maksym Ostroverkhov <[email protected]>
Signed-off-by: Maksym Ostroverkhov <[email protected]>
Signed-off-by: Maksym Ostroverkhov <[email protected]>
Signed-off-by: Maksym Ostroverkhov <[email protected]>
         RSocketFactory

         KeepAliveConnection: dispose KeepAliveHandler in onClose()

Signed-off-by: Maksym Ostroverkhov <[email protected]>
Signed-off-by: Maksym Ostroverkhov <[email protected]>
… position from keepalives

replace state enum with constants

remove unnecessary allocation

make cleanup of store on keep-alive optional

formatter

Signed-off-by: Maksym Ostroverkhov <[email protected]>
@mostroverkhov mostroverkhov force-pushed the resume-position-bytecount branch from 80ca353 to 4ace294 Compare April 5, 2019 23:21
@mostroverkhov mostroverkhov removed the WIP label Apr 5, 2019
@mostroverkhov mostroverkhov changed the title [WIP] Switch resume position tracking to byte count Switch resume position tracking to byte count Apr 5, 2019
Signed-off-by: Maksym Ostroverkhov <[email protected]>
@mostroverkhov mostroverkhov force-pushed the resume-position-bytecount branch 2 times, most recently from eb875db to 394d7ba Compare April 5, 2019 23:48
@mostroverkhov mostroverkhov removed the WIP label Apr 6, 2019
@mostroverkhov mostroverkhov requested review from robertroeser and removed request for robertroeser April 6, 2019 00:24
optimize ResumableDuplexConnection

Signed-off-by: Maksym Ostroverkhov <[email protected]>
@robertroeser robertroeser merged commit 92be5e2 into develop Apr 7, 2019
@robertroeser robertroeser deleted the resume-position-bytecount branch April 7, 2019 08:06
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.

3 participants