Kinetic / kinetic-protocol

34 stars 21 forks source link

Extensions? #24

Open erdunn opened 9 years ago

erdunn commented 9 years ago

Would adding the ability to do vendor unique extensions be a good idea? For example,

(1) Setting aside a range of field numbers for vendor unique use, i.e.

message Body { ... extensions xx to yy; }

message Setup { ... extensions qq to zz; }

(2) Setting aside a range of MessageType for vendor unique requests/responses

(3) Setting aside a range of Permission for vendor unique uses

This would allow vendors to add new fields for in-house use without needing to modify the original kinetic.proto.

Regards, -Eric

jphughes commented 9 years ago

One of the values of the Kinetic protocol is that common usage be common between vendors. The additions of proprietary capabilities could fork the protocol and create incompatibility problems. If you want to add vendor independent features that can be common among competitors, please suggest them.

We are very happy to add new capabilities to the protocol. In the near future, there will be a community process to add features like this where there will be a community vote to approve things like this.

At this time, the one area that supports proprietary information is the ability to get logs or other proprietary information that is device specific. Currently the

//get log
message GetLog {
    // There can be only one Device in the list of logs that can be retrieved.!
    message Device {
        optional bytes name = 1;
    }

does support the getting of proprietary logs from the device.