Closed havocp closed 9 years ago
This looks good, but a few quick comments:
We need to bump up the max message size if we haven't. I'll do that, stay tuned.
What would the filter be i.e. how would you decide what to filter on? I was trying to minimize the size by ONLY listing the keys, not sending all the details for each key.
The simple project in the integration tests has 554 keys. 10x-ing that for a complex project, If we need 128 bytes to encode a key, then 5000 keys = 5000*128 = 625K or so I think. That should transfer quickly over a localhost socket, in theory.
By "sending the keys" you mean the scoped keys right? The filters would be the scope. I.e. filter the keys for project X or build Y or config Z. We had that in sbt-remote-control 0.x but I never ported it to the server rewrite.
It's probably good to go as is. A filter would be optional addition to the message anyway, so it won't break protocol.
We do already have "all scoped keys with a certain name" (LookupScopedKey).
Maybe we should YAGNI the filters and see what happens. For me the question is whether any clients that want to list all settings, ONLY need settings for a certain project/build/config. Or at least could use filters to lazy load (e.g. get settings for a project when you enter that project).
List settings makes me nervous. It will probably hit msg size limit....