{"id":20796240,"url":"https://github.com/apigear-io/objectlink-spec","last_synced_at":"2025-09-10T08:07:19.743Z","repository":{"id":40681345,"uuid":"373110305","full_name":"apigear-io/objectlink-spec","owner":"apigear-io","description":"documentation regarding the objectlink protocol","archived":false,"fork":false,"pushed_at":"2022-06-27T14:29:08.000Z","size":995,"stargazers_count":1,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T01:43:12.421Z","etag":null,"topics":["protocol","rpc"],"latest_commit_sha":null,"homepage":"https://objectlinkprotocol.net","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apigear-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-02T09:31:36.000Z","updated_at":"2022-03-05T18:35:03.000Z","dependencies_parsed_at":"2022-08-30T18:51:03.419Z","dependency_job_id":null,"html_url":"https://github.com/apigear-io/objectlink-spec","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/apigear-io/objectlink-spec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apigear-io%2Fobjectlink-spec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apigear-io%2Fobjectlink-spec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apigear-io%2Fobjectlink-spec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apigear-io%2Fobjectlink-spec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apigear-io","download_url":"https://codeload.github.com/apigear-io/objectlink-spec/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apigear-io%2Fobjectlink-spec/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274428904,"owners_count":25283263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["protocol","rpc"],"created_at":"2024-11-17T16:26:21.071Z","updated_at":"2025-09-10T08:07:19.703Z","avatar_url":"https://github.com/apigear-io.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Object Link Core Protocol\n\nThe Object Link protocol is a simple protocol to link a local object to a remote object. The protocol is designed to be independent from the transport but was designed with websockets in mind.\n\nFor this it can be used from browsers, desktop clients or even smaller embedded devices. Due to support for binary message formats and an efficient protocol structure it is possible to send data very efficient.\n\n[Full Documentation](https://objectlink.netlify.app/)\n\n## Features\n\n* Link/Unlink of remote objects\n* Sync properties between remote object and linked local objects\n* Asynchronous remote method invocation\n* Server side signals to all linked objects\n* Fully support for [ApiGear](http://apigear.io) object model and code generation tooling\n\nThe protocol itself is isolated from any transport technology to make it easier to port.\n\n\n## Message Types\n\n* [Lifecycle](lifecycle)\n\t* `--\u003e LINK` - link the local object with a remote object\n\t* `\u003c-- INIT` - initialized the local object with properties from the remote object\n\t* `--\u003e UNLINK` - unlinks a local object from a remote object\n* [Properties](properties)\n    * `--\u003e SET_PROPERTY`  - send a property change to a remote object\n\t* `\u003c-- PROPERTY_CHANGE` - sends property changes to all linked client objects\n* [Methods](methods)\n\t* `--\u003e INVOKE` - invoke a method on a remote object\n\t* `\u003c-- INVOKE_REPLY` - reply of an remote invokation\n* [Signals](signals)\n\t* `\u003c-- SIGNAL` - send remote events back to all linked client objects\n\n\n## Implementations\n\n* [ObjectLink Core Typescript](https://github.com/apigear-io/objectlink-core-typescript)\n* [ObjectLink Core Python](https://github.com/apigear-io/objectlink-core-python)\n* [ObjectLink Core C++14](https://github.com/apigear-io/objectlink-core-cpp)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapigear-io%2Fobjectlink-spec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapigear-io%2Fobjectlink-spec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapigear-io%2Fobjectlink-spec/lists"}