{"id":23119370,"url":"https://github.com/xinlin-z/ringbb","last_synced_at":"2026-06-11T16:31:20.473Z","repository":{"id":179333194,"uuid":"660108943","full_name":"xinlin-z/ringbb","owner":"xinlin-z","description":"Ring Byte Buffer in C","archived":false,"fork":false,"pushed_at":"2023-12-15T12:56:03.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T02:41:33.082Z","etag":null,"topics":["auto-resize","ring-buffer"],"latest_commit_sha":null,"homepage":"","language":"C","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/xinlin-z.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-29T09:05:52.000Z","updated_at":"2023-12-15T03:10:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"dba70064-9dc7-4afc-9fc1-939a9014990e","html_url":"https://github.com/xinlin-z/ringbb","commit_stats":null,"previous_names":["xinlin-z/ringbb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xinlin-z/ringbb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xinlin-z%2Fringbb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xinlin-z%2Fringbb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xinlin-z%2Fringbb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xinlin-z%2Fringbb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xinlin-z","download_url":"https://codeload.github.com/xinlin-z/ringbb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xinlin-z%2Fringbb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34208761,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"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":["auto-resize","ring-buffer"],"created_at":"2024-12-17T05:33:58.859Z","updated_at":"2026-06-11T16:31:20.456Z","avatar_url":"https://github.com/xinlin-z.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ringbb\n\nRing Byte Buffer in pure C, auto resizable, no thread safe, and with\nthe capability to push(write) the pop(read) data buffer in both sides.\nIt could then be used flexibly in different scenarios and\nwith C and C++ respectively.\n\n**Interface**\n\n```c\nbool rbb_init(ringbb*, size_t);\nvoid rbb_free(ringbb*);\nbool rbb_shrink(ringbb*);\nbool rbb_push_back(ringbb*, const void*, size_t);\nbool rbb_push_front(ringbb*, const void*, size_t);\nsize_t rbb_pop_front(ringbb*, void*, size_t);\nsize_t rbb_pop_back(ringbb*, void*, size_t);\n```\n\nTo access ring byte buffer's capacity and size, just visit the member\nvariable. Suppose `rb` is a pointer to ringbb struct (check\nring_byte_buf.h), capacity is `rb-\u003ecapacity`, size is `rb-\u003esize`.\nYou can only read them, do not modify them in any case!!\n\n**Test on Linux**\n\n```shell\n$ make\n$ ./testc\n$ ./cpptest\n```\n\nIf no FAILED literal, it's passed!\n\n**Example**\n\n`test_ringbb.c` and `cpptest.cpp` can be taken as examples.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxinlin-z%2Fringbb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxinlin-z%2Fringbb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxinlin-z%2Fringbb/lists"}