Is your feature request related to a problem? Please describe.
Exposing the services through a http(s) reverse proxy does not allow for rpyc connections directly. The user will have to enable port forwarding when deploying the service in a container and cannot use the same hostname for connection, which is quite limiting.
Describe the solution you'd like
We are already using a socketio server to manage the communication between the backend and the frontend clients. I would like to extend this server to take over the responsibilities rpyc has at the moment.
Python client behaviour
subscribe to the sio events
updates of attributes and properties will be forwarded to the observer -> client cache will be udpated
reason: services can themselves contains service proxy classes as attributes. They should also be up-to-date on the frontend representation.
client will have proxy class that is dynamically created from the serialized representation of the exposed class
exposed attributes and properties will be properties with getters and setters (as long as they are not read-only) which will themselves emit socketio events to get / set the values on the server
setter method should not be called when an update was received from the server -> infinite loop
Is your feature request related to a problem? Please describe. Exposing the services through a http(s) reverse proxy does not allow for
rpyc
connections directly. The user will have to enable port forwarding when deploying the service in a container and cannot use the same hostname for connection, which is quite limiting.Describe the solution you'd like We are already using a socketio server to manage the communication between the backend and the frontend clients. I would like to extend this server to take over the responsibilities
rpyc
has at the moment.Python client behaviour