GithubHelp home page GithubHelp logo

Comments (5)

vmax avatar vmax commented on May 28, 2024

@sorsaffari (cc @haikalpribadi @lolski) as this feature seems to be needed for all clients, should we make a gRPC endpoint in server that would tell minimal version of client needed to connect to that server?

from typedb-driver-nodejs.

flyingsilverfin avatar flyingsilverfin commented on May 28, 2024

@vmax I was thinking each client would maintain a compatibility table rather than server maintaining one per client (since each client can have different versions). The server just needs to return its version when we open a client I think!
This would entail just having a new version endpoint that we check when opening a channel in each client would be the most general solution, what do you think?

from typedb-driver-nodejs.

vmax avatar vmax commented on May 28, 2024

@flyingsilverfin let me correct myself a bit. Server should report minimal version of protocol that client should implement in order to connect to it.

Say, we establish that current version of protocol that latest server and client implement is v1.
Then, when we need to introduce incompatible changes in server, we'll have to bump server to report v2 as the minimal protocol it supports — therefore, clients that only implement v1 would be rejected a connection.

from typedb-driver-nodejs.

haikalpribadi avatar haikalpribadi commented on May 28, 2024

I agree with @vmax. It's a good idea for the server to report the protocol version it serves, and the client validates if they are using that protocol. It has to be one to one anyways. cc: @sorsaffari @flyingsilverfin @lolski

from typedb-driver-nodejs.

alexjpwalker avatar alexjpwalker commented on May 28, 2024

We should hold on to the potentially useful discussion in this issue, however it is a duplicate of vaticle/typedb-driver#25 (it can be assumed that we will implement this feature in all clients).

from typedb-driver-nodejs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.