Exposing data
A service can expose data in a few different ways
-
its State ("whitebox" data)
-
non-State values (“whitebox” data)
-
via RPC calls ("blackbox" data)
State
-
Every service is allowed to have one State
-
A State is strictly per Show
-
A State is a JSON object
-
The technical definition of a Show is
Map<String,State>, whereStringis the name of a service and State is the JSON object
-
-
The global settings of a Show are on the State of the
Store -
All services can access and subscribe to the State of a service or request changes, but only the Service itself is allowed to actually modify its State
-
Requests can be ignored or adjusted by the Service if they would result in an incorrect State
-
-
For portability and upgrading of Pixotope, every service needs to be able to handle old states it has reported itself
The Store keeps the memory of all states (its own and all service states) in .pxshow files. This way you can switch between complete sets of states (Shows)
Learn more about Show files - where your SETUP is stored
Data via RPC calls
-
This data is exposed and modified via RPC calls
-
For Engine, this is the majority of the interactions
-
-
This data is unrelated to a show
-
RPC calls are service specific