I implemented an NRI plugin in rust and I noticed that the documentation is not quite clear on the underlying protocol. It currently states:
The core of NRI is defined by a protobuf protocol definition of the low-level plugin API. The API defines two services, Runtime and Plugin.
Unfortunately that is really only half the story. Firstly it would be nice to mention that it is using ttrpc instead of grpc, but more importantly it should be stated that there is the multiplexer layer underneath it, with an implicit 1 meaning PluginServer, and 2 being RuntimeClient.
The last issue I encountered is that there appears to be no indication which Events can be subscribed to, but simply selecting all Events may result in the plugin registration failing.
I implemented an NRI plugin in rust and I noticed that the documentation is not quite clear on the underlying protocol. It currently states:
Unfortunately that is really only half the story. Firstly it would be nice to mention that it is using ttrpc instead of grpc, but more importantly it should be stated that there is the multiplexer layer underneath it, with an implicit 1 meaning PluginServer, and 2 being RuntimeClient.
The last issue I encountered is that there appears to be no indication which Events can be subscribed to, but simply selecting all Events may result in the plugin registration failing.