📄️ Introduction
ObjectLink is an IPC protocol based on the idea to link a local object to a remote object a network connection. Object link allows users to communicate state full objects over a network connection. The protocol is designed to be used with the ObjectAPI specification.
📄️ Use Cases
Object Link can be used to link the UI layer to the underlying service layer but also to link low-level things like a sensor to a high-level thing like a dashboard. Due to the combination of properties/operations and signals the protocol can be used to describe a wide range of use cases.
📄️ Lifecycle
To use a remote object the object needs to be linked first using the object name. The LINK request will be answered with a INIT message to initially populate the local properties from the remote object and subscribe to property changes and signals. After the linking the local object is fully usable.
📄️ Method Invokation
A remote invokation invokes asynchronously a method on a remote object and returns the result.
📄️ Property Synchronization
An object can contain a set of properties, which describe the data associated with the object. When a property changes, either locally or remote all linked objecta re notified about the changes and updated.
📄️ Server Side Signals
Signals re used to notify the local object about changes on the remote object.
📄️ Error Messages
Error can be raised in several places. The error message is always send back to the client with the message type of the original message. The error message is a JSON array with the following format: