centrifugal / centrifuge-dart

Dart (Flutter) client SDK for bidirectional communication with Centrifugo and Centrifuge-based server over WebSocket

Home Page:https://pub.dartlang.org/packages/centrifuge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Supporting Centrifugo v3

robert-virkus opened this issue · comments

Hi, what would be required in principle to support v3 of the protocol? I would assume and hope that "only" the proto needs to be exchanged and the commands would need to be re-generated, is that roughly right?
Could the client in principle detect the server side version and decide during runtime which command encoder/decoder to use?

Centrifugo v3 protocol won't be supported in new versions of Centrifugal SDKs, that version of protocol is deprecated. Technically it could be possible of course.

The rest of old protocol (which is still supported by a server) will be removed with Centrifugo v5 - see roadmap v5

I happen to have the requirement to support both web and other platforms with v3 (at least for now) and I would like to stick to the "official" plugin for maintenance reasons. Did I understand you correctly, it is your policy that client SDKs should never support older server versions?

Yeah - it's a decision made to move Centrifugo project forward. Unfortunately supporting both protocol versions adds too much complexity for maintenance which is simply unaffordable for Centrifugo at this stage.