{"id":21207327,"url":"https://github.com/cacilhas/lrpc","last_synced_at":"2026-02-04T06:41:58.011Z","repository":{"id":119028567,"uuid":"164505177","full_name":"cacilhas/lrpc","owner":"cacilhas","description":"A spartan example of RPC over UDP, powered by MoonScript and LuaJIT.","archived":false,"fork":false,"pushed_at":"2019-01-07T23:31:32.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-15T13:37:12.489Z","etag":null,"topics":["luajit","moonscript","poc","rpc"],"latest_commit_sha":null,"homepage":null,"language":"MoonScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cacilhas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-07T22:14:36.000Z","updated_at":"2020-04-23T05:23:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"2ec512bf-b1b6-45d2-b955-bbfa27d42060","html_url":"https://github.com/cacilhas/lrpc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cacilhas/lrpc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cacilhas%2Flrpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cacilhas%2Flrpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cacilhas%2Flrpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cacilhas%2Flrpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cacilhas","download_url":"https://codeload.github.com/cacilhas/lrpc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cacilhas%2Flrpc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29073937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T03:31:03.593Z","status":"ssl_error","status_checked_at":"2026-02-04T03:29:50.742Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["luajit","moonscript","poc","rpc"],"created_at":"2024-11-20T20:58:26.054Z","updated_at":"2026-02-04T06:41:57.989Z","avatar_url":"https://github.com/cacilhas.png","language":"MoonScript","readme":"# LRPC\n\nA spartan example of RPC over UDP, powered by\n[MoonScript](http://moonscript.org/) and [LuaJIT](http://luajit.org).\n\n\n## Dependencies\n\nLRPC requires [LuaSocket](http://w3.impa.br/~diego/software/luasocket/). Be\ncareful when compiling it, remember to use LuaJIT headers and libs instead of\ntraditional Lua.\n\nIndeed, in the current release, LRPC shall work over traditional Lua, but it’s\nnot tested.\n\nI’ve opted for LuaSocket so LRPC can be used in [LÖVE](https://love2d.org/).\n\n\n## Installing\n\n```\n#!bash\n\nmake\nmake test\nsudo make install\n```\n\n\n## Use\n\n### The server\n\n```\n#!moonscript\n\nServer = assert require \"lrpc.server\"\nserver = Server!\n\nserver.callbacks.add = (a, b) -\u003e a + b\nserver\\serve!\n```\n\nThe `Server` constructor accepts two parameters:\n\n* The first is the IP to listen, defaults to `\"*\"`;\n* The second is the port, defaults to `54000`.\n\nNote: use `coroutine.yield` on callback’s loops to release server for handling\nother connections.\n\n\n### The client\n\n```\n#!moonscript\n\nClient = assert require \"lrpc.client\"\nclient = (Client \"localhost\").remote\n\nprint client.add 2, 3\n```\n\nThe `Client` constructor accepts two parameters:\n\n* The first is the host to connect, no default value;\n* The second is the port, defaults to `54000`.\n\n\n## Author\n\n[ℜodrigo Arĥimedeς ℳontegasppa ℭacilhας](mailto:batalema@cacilhas.info)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcacilhas%2Flrpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcacilhas%2Flrpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcacilhas%2Flrpc/lists"}