On Fri, Dec 28, 2012 at 8:59 AM, Stack <st...@duboce.net> wrote:

> On Fri, Dec 28, 2012 at 1:31 AM, Devaraj Das <d...@hortonworks.com> wrote:
>
> > Now thinking more about it, if a server implements a method more
> > efficiently, we probably could have new fields in the method argument to
> > indicate the client is willing to accept the new semantics. A new server
> > could detect that (by checking for existence of such a field), and an old
> > server would simply ignore that field. The new server could do a
> different
> > processing of the request, and the response, although the same message
> > type, might have new fields to capture the response under the new
> > semantics.
> >
> > Over time, the method code might evolve, and might become unmaintainable
> > ... that's the worry. It might make sense to just break up the method
> into
> > multiple implementations..
> >
> >
> Yes.  Protobufs gives us wiggle-room.
>
>
>
> > I am +1 for getting a PB'ed description of the protocol, the client
> caching
> > it, and then deciding which method to invoke based on what's supported in
> > the server. This will also address the orthogonal case of the server
> > letting the client know all its capabilities.
> >
>
>
> This is how a client would learn of completely new functionality that has
> been added to the server?
>
> On client setup of proxy, as first request, instead of asking server for
> the version of the protocol it is serving, instead it could ask the server
> for the pb'd description of the protocol [1] and the client could look at
> this to see if the server supported new functionality?
>
> The returned descriptor would be much fatter than a bitmap.
>
>
Bitmap is fine as well if the PB'ed representation is too verbose.


> St.Ack
>
> 1.
>
> https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Descriptors.ServiceDescriptor
>

Reply via email to