{"id":24517506,"url":"https://github.com/koder77/l1vm-data","last_synced_at":"2025-08-04T07:09:55.744Z","repository":{"id":87520457,"uuid":"363203585","full_name":"koder77/l1vm-data","owner":"koder77","description":"L1VM data base - exchange data between programs","archived":false,"fork":false,"pushed_at":"2022-02-22T16:16:24.000Z","size":125,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-15T11:10:30.329Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koder77.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"LICENSE","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":"2021-04-30T16:48:09.000Z","updated_at":"2022-02-07T17:31:02.000Z","dependencies_parsed_at":"2023-03-04T01:45:34.316Z","dependency_job_id":null,"html_url":"https://github.com/koder77/l1vm-data","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/koder77/l1vm-data","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koder77%2Fl1vm-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koder77%2Fl1vm-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koder77%2Fl1vm-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koder77%2Fl1vm-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koder77","download_url":"https://codeload.github.com/koder77/l1vm-data/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koder77%2Fl1vm-data/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268660076,"owners_count":24286010,"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-08-04T02:00:09.867Z","response_time":79,"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":[],"created_at":"2025-01-22T01:34:14.681Z","updated_at":"2025-08-04T07:09:55.688Z","avatar_url":"https://github.com/koder77.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"L1VM DATA - 2022-02-22\n======================\n\nThis software is copyrighted by Stefan Pietzonke aka koder77 2022.\n\nNEW: \"SEARCH DATA LIST\" and \"SEARCH NAME LIST\" to get a list of entries:\n\n```\n$ nc 127.0.0.1 2020\nSTORE INT64\nfoo\n12345\nOK\nSTORE INT64\nbar\n6789\nOK\nSTORE INT64\nfoobar\n12345\nOK\nSEARCH DATA LIST\n12345\ndata list length = 2\nfoo = 12345\nfoobar = 12345\nOK\nSEARCH NAME LIST\nfoobar\ndata list length = 1\nfoobar = 12345\nOK\n```\n\nNEW: file \"config.txt\" contains a whitelist of IP addresses, which are allowed to connect\nto the server. Add one IP address per line. And don't put a new line after the last entry!\nThis makes the data base a bit more safe!\n\nL1vm-data is a simple database for sharing data stored in the l1vm-data server.\nWorker programs can access this data and share it as global memory.\nThere are three commands:\n\nSTORE, GET and REMOVE\n\nThe \"STORE INT64\" command store a 64 bit signed integer into the database.\nThe command must be send over a TCP/IP socket (port 2020) and end with a \"\\n\" newline character like this:\n\n\u003cpre\u003e\nSTORE INT64\nfoobar\n42\n\u003c/pre\u003e\n\nThe variable foobar gets stored with a value of \"42\".\n\nyou can connect to the data base via \"nc\" on Linux for example:\n\n\u003cpre\u003e\n$ nc localhost 2020\n$ STORE INT64\n$ foobar\n$ 42\n$ OK\n\u003c/pre\u003e\n\nTO get a variable use the GET command:\n\n\u003cpre\u003e\n$ GET INT64\n$ foobar\n$ 42\n$ OK\n\u003c/pre\u003e\n\nTo read and remove a variable use the REMOVE command.\n\nThe commands list:\n\n\u003cpre\u003e\nSTORE BYTE        store variables\nSTORE STRING\nSTORE INT64\nSTORE DOUBLE\n\nGET BYTE         get(read) variables\nGET STRING\nGET INT64\nGET DOUBLE\n\nREMOVE BYTE      remove (read and remove) variables\nREMOVE STRING\nREMOVE INT64\nREMOVE DOUBLE\n\nSEARCH DATA      search in database for data\nSEARCH DATA LIST return a list of matching data\nSEARCH NAME LIST return a list of matching names\n\nGET INFO         get variable real name and data type\nLOGOUT           disconnect from server\n\nSAVE             save a data base\nLOAD             load a data base\n\u003c/pre\u003e\n\nThe GET/REMOVE commands also are working with \"regular expressions\":\n\n\u003cpre\u003e\nGET INT64\nfoobar.*\n42\nOK\n\u003c/pre\u003e\n\nThe variable: \"foobar-1234\" would be get. The \".*\" stand for every possible chars\non any length. So anything starting with \"foobar\" would be found.\n\nUsage:\n\u003cpre\u003e\n$ l1vm-data 1000000\n\u003c/pre\u003e\n\nMakes space for 1000000 elements. The variable names are set to max 127 chars.\n\nThis server database was developed for use in home nets only! There is no way to protect data stored in the database.\nSo everything inside will be accessible from a connected client!!!\n\nNEW EXAMPLES 3N1 calc\n=====================\nThe 3n1 calc test:\nCheck if a number is even: if it is even then divide by two, if it is odd then multiply by three\nand add one. Every start number should give a one as the final result!\n\nRun the \"l1vm-data\" database server:\n\n\u003cpre\u003e\n$ ./l1vm-data -p 2020\n\u003c/pre\u003e\n\nRun the L1VM server init program:\n\n\u003cpre\u003e\n$ l1vm-jit 3n1-server\n\u003c/pre\u003e\n\nAnd finally the 3n1 worker client:\n\n\u003cpre\u003e\n$ l1vm-jit 3n1-client -args 10 198\n\u003c/pre\u003e\n\nAt the end with a terminal program connected to the server we can check the results:\n\n\u003cpre\u003e\n$ nc localhost 2020\nGET INT64\n3n1-100\n1\n\u003c/pre\u003e\n\nGet info of variable:\n\n\u003cpre\u003e\n$ nc localhost 2020\nGET INFO\n3n1-.*\n3n1-1\nINT64\nOK\n\u003c/pre\u003e\n\nSo the \"GET INFO\" and \"3n1-.*\" was used as input to the database.\nAnd the following lines are the output.\n\nSEARCH DATA\n===========\nThe data base can be searched for a data match.\nIf the searched data is in the data base then the name of the data\nentry will be returned.\nThe following example creates two data sets: an INT64 and a STRING type:\n\n\u003cpre\u003e\n$ nc localhost 2020\nSTORE INT64\nfoo\n123456\nOK\nSTORE STRING\nhello\nHello world!\nOK\nSEARCH DATA\nworld\nhello\nOK\nSEARCH DATA\n123456\nfoo\nOK\n\u003c/pre\u003e\n\n\nSAVE/LOAD\n========\n\u003cpre\u003e\nSAVE\ntest.l1db\nOK\n\nLOAD\ntest.l1db\nOK\n\u003c/pre\u003e\n\nTo save/load a data base you use two input lines for the commands as above!\n\nHave some fun!! :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoder77%2Fl1vm-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoder77%2Fl1vm-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoder77%2Fl1vm-data/lists"}