{"id":24972459,"url":"https://github.com/tuannh982/ladder","last_synced_at":"2025-07-08T10:41:08.363Z","repository":{"id":170660409,"uuid":"389352229","full_name":"tuannh982/ladder","owner":"tuannh982","description":"A fast, simple persistent queue written in Java","archived":false,"fork":false,"pushed_at":"2021-08-12T03:05:07.000Z","size":32,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T06:34:17.102Z","etag":null,"topics":["from-scratch","java","persistent-data-structure","persistent-queue","queue"],"latest_commit_sha":null,"homepage":"","language":"Java","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/tuannh982.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,"zenodo":null}},"created_at":"2021-07-25T13:19:44.000Z","updated_at":"2024-12-10T03:11:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"27efcb0a-2de5-43ed-b360-c4d2641087d7","html_url":"https://github.com/tuannh982/ladder","commit_stats":null,"previous_names":["tuannh982/ladder"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tuannh982/ladder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuannh982%2Fladder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuannh982%2Fladder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuannh982%2Fladder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuannh982%2Fladder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tuannh982","download_url":"https://codeload.github.com/tuannh982/ladder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuannh982%2Fladder/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264252552,"owners_count":23579890,"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","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":["from-scratch","java","persistent-data-structure","persistent-queue","queue"],"created_at":"2025-02-03T17:09:36.344Z","updated_at":"2025-07-08T10:41:08.355Z","avatar_url":"https://github.com/tuannh982.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Ladder\n======\n\n[![GitHub](https://img.shields.io/github/license/tuannh982/ladder.svg)](https://github.com/tuannh982/ladder/blob/master/LICENSE)\n[![Total Alerts](https://img.shields.io/lgtm/alerts/g/tuannh982/ladder.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/tuannh982/ladder/alerts)\n[![Code Quality: Java](https://img.shields.io/lgtm/grade/java/g/tuannh982/ladder.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/tuannh982/ladder/context:java)\n\n## Introduction\nLadder is a lightning fast persistent queue written in Java.\n\n## Usage\n### Installation\n// TODO publish to Maven Central\n### Create persistent queue instance\n```java\nString path = \"/path/to/your/queue/dir\";\n        Queue queue = new LadderQueue(\n        new File(path),\n        LadderQueueOptions.builder()\n        .dataFlushThreshold(512 * 1024)\n        .maxFileSize(100 * 1024)\n        .build()\n);\n```\n### Basic operations\n#### put\n```java\nbyte[] data = new byte[] {...};\nqueue.put(data);\n```\n#### take\n```java\nbyte[] read = queue.take();\n```\n#### poll\n```java\nlong timeoutInMs = 500;\nbyte[] read = queue.poll(timeoutInMs);\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuannh982%2Fladder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftuannh982%2Fladder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuannh982%2Fladder/lists"}