This relieves Adapters from having to maintain their own mapping between Id<Getter>/Id<Setter>, actual devices, actual implementation.
Extending this with future capabilities (e.g. delete) should be quite simple.
We can expose a data structure Channel much like this to the REST API, and it should often be easier to use than our current separate getters/setters.
Cons
The current AdapterManager manages to combine various fetch (respectively send, watch) requests by Adapter and send them together to minimize communications. I don't see how to do this with this design.
Spinoff from an idea by @mcav in #53.
We could rewrite the
AdapterManager
's channel API as follows:Pros
Id<Getter>
/Id<Setter>
, actual devices, actual implementation.Channel
much like this to the REST API, and it should often be easier to use than our current separate getters/setters.Cons
fetch
(respectivelysend
,watch
) requests by Adapter and send them together to minimize communications. I don't see how to do this with this design.