-
-
Notifications
You must be signed in to change notification settings - Fork 34
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
feat: Add delta compression support #74
Conversation
Hello @itismoej Many thanks, this is awesome to get such contributions! I will review changes very soon, a couple of questions:
|
Hi Alex,
|
Added test-cases from https://github.com/dchest/fossil-delta-js/tree/master/test |
It's weird that the tests didn't pass!
|
Yep, strange. Probably somehow related to current working directory used during test run in CI and the resolution of file paths to load content from. |
Changed to relative path. Maybe that helps! |
One more shot in the dark - maybe return the paths you had and try disabling gradle cache centrifuge-java/.github/workflows/ci.yml Line 18 in b2dc056
Unfortunately, I don't understand how testing in Java works under the hood to give a proper advice :( |
Nope, it won't help. |
@itismoej please pay attention to |
Oh! Thanks Alex, I wouldn't notice at all :)) Fixed it. |
centrifuge/src/main/java/io/github/centrifugal/centrifuge/Client.java
Outdated
Show resolved
Hide resolved
I do not see anything else important to tweak here at this point – looks good 👍 I'll now experiment locally a bit, maybe come with some comments after that. Will try to do this till the end of the week. |
Hello @itismoej , here is an update:
I am planning next to look at centrifugal/centrifuge-python#20 - once it is merged, will proceed with releases of both SDKs - Java and Python. It's better for me because the feature is quite complex and while reviewigng Python lib I can realize sth to be tweaked here. And before SDKs releases Centrifugo with the mentioned fix should be already available. |
Introduce a way to set new Subscription delta option:
Option delta can only have fossil value now (delta compression based on Fossil algorithm).
When set, client will try to negotiate delta compression in channel with a server. If server allows this delta type – messages in channel MAY be delta-compressed. Whether messages are delta compressed or not depends on server publishing logic.