...
The stats command in 4 series version used to return , the sever returns a struct for the server statisticsthe statistics, the client then formats this.
However this meant we would break client/server api if the struct was changed between releases,if . If we added new statistics.
In ecflow 5.0.0 we now just return a string, the server itself will format the staringstring, adding/removing new fields without effecting client/server compatibility.
We still retained retain the ability to return the struct for test purposes.
Checkpoint
Whenever we checkpoint ( i.e. the full defs must be is written to disk),.
This uses ecFlow defeinition format, where it can done faster the boost or even Json serialisation.
In the 5 series this we cache the checkpoint series 5 we take advantage of this by caching this as a string before writing it out as the checkpoint file.
This effectively caches the de-serialisation cost .
If any user requests the full defs we can return cache in defs file format. (This is very fast, i.e faster then boost and cereal).
Now support auto sync, this reduces the latency for GUI and python clients.
Auto sync allows us to make a change to the server defs, and automatically sync those changes
with the client definition. Previously these were two separate commands send to the server.
cache string.
Auto Sync
In the 4 series, whenever the GUI makes a change, it involves two calls to the server.
- Invoke the command
- call the sync command, This then syns the changes in the server, into the client
In the 5 series version we support auto sync, which effectively combines the two separate commands into one.
This reduces the latency for GUI and python clients.
...