External data call backs

Hi ,

We are using the external data call backs , basically the callpoints. SO in this case an api get_elem() is getting called where in CONFD expects that the application must fetch probable completions which will be displayed on the CLI.

This puts an implicit requirement on the app to maintain all entries ( or atleast the keys ) in memory so that it can service the get_elem() apis.
On our case we are not maintaining this in memory - so we dont want this API to be called .
We have tried the “suppress” annotation but that works only when there is 1 key. If there are multiple keys in a list that does not work.

Is there a way to get around this.

Also we have observed that in the cli when the user hits the return key ( not yet executed commit ) even then the get_elem gets called. And in this case we should not do any processing.

So wanted to understand this behavior as well - what is CONFD expecting as part of get_elem() when only return (enter ) is hit in the CLI.


I was wondering exactly which annotation you are using. I tried this with tailf:cli-no-key-completion and it worked as expected even for a list with two keys. Let me know which annotation you were trying and I can see if it applicable for what you were trying to do. In the meanwhile, you can try the annotation mentioned above to see if it solves your problem.

I will need to do some more research on the second behavior you noticed. I believe what it is trying to do is go into the submode, but it is performing an existence check to make sure it exists before it goes to the submode.