{"id":13840297,"url":"https://github.com/KernelMaker/rocksutil","last_synced_at":"2025-07-11T07:33:12.069Z","repository":{"id":89157086,"uuid":"90974517","full_name":"KernelMaker/rocksutil","owner":"KernelMaker","description":"A c++ develop toolkit","archived":false,"fork":false,"pushed_at":"2017-09-22T09:13:10.000Z","size":159,"stargazers_count":33,"open_issues_count":0,"forks_count":52,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-08-05T17:24:57.706Z","etag":null,"topics":["rocksdb","toolkit"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KernelMaker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-05-11T12:02:49.000Z","updated_at":"2024-04-29T05:57:36.000Z","dependencies_parsed_at":"2023-06-14T04:45:24.238Z","dependency_job_id":null,"html_url":"https://github.com/KernelMaker/rocksutil","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelMaker%2Frocksutil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelMaker%2Frocksutil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelMaker%2Frocksutil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelMaker%2Frocksutil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KernelMaker","download_url":"https://codeload.github.com/KernelMaker/rocksutil/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225705354,"owners_count":17511275,"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":["rocksdb","toolkit"],"created_at":"2024-08-04T17:00:45.293Z","updated_at":"2024-11-21T09:31:18.098Z","avatar_url":"https://github.com/KernelMaker.png","language":"C++","funding_links":[],"categories":["C++","C++ (225)"],"sub_categories":[],"readme":"# rocksutil\nrocksutil is a ToolKit for C++ developer，It has a lot of useful tools to make coding more faster and easier. It supports LINUX and MACOS platforms\n\n## tools\n\n### 1. Env\n\nEasy way to operate files, directories, threads, times, etc\n\nHere is an [EXAMPLE](https://github.com/KernelMaker/rocksutil/blob/master/examples/thread_pool_example.cc)\n\nFind more usages [Here](https://github.com/KernelMaker/rocksutil/blob/master/include/rocksutil/env.h)\n\n|Files \u0026 Directories           |\n| --- |\n|Env::NewDirectory             |\n|Env::FileExists               |\n|Env::GetChildren              |\n|Env::GetChildrenFileAttributes|\n|Env::DeleteFile               |\n|Env::CreateDir                |\n|Env::CreateDirIfMissing       |\n|Env::GetFileSize              |\n|Env::GetFileModificationTime  |\n|Env::RenameFile               |\n|Env::LinkFile                 |\n|Env::LockFile                 |\n|Env::UnlockFile               |\n|Env::GetAbsolutePath          |\n\n---\n|Thread \u0026 ThreadPool              |\n| --- |\n|Env::Schedule                    |\n|Env::UnSchedule                  |\n|Env::StartThread                 |\n|Env::WaitForJoin                 |\n|Env::GetThreadPoolQueueLen       |\n|Env::SetBackgroundThreads        |\n|Env::IncBackgroundThreadsIfNeeded|\n|Env::LowerThreadPoolIOPriority   |\n|Env::GetThreadID                 |\n\n---\n|Time \u0026 System            |\n| --- |\n|Env::NowMicros           |\n|Env::NowNanos            |\n|Env::SleepForMicroseconds|\n|Env::GetHostName         |\n|Env::GetCurrentTime      |\n\n### 2. Log\n\nEasy way to use Log\n\nHere is an [EXAMPLE](https://github.com/KernelMaker/rocksutil/blob/master/examples/log_example.cc)\n\n### 3. ThreadLocal\n\nEasy way to use thread-specific data\n\nHere is an [EXAMPLE](https://github.com/KernelMaker/rocksutil/blob/master/examples/thread_pool_example.cc)\n\n### 4. MutexLock\n\nEasy way to use Lock, RWLock, SpinLock\n\nHere is an [EXAMPLE](https://github.com/KernelMaker/rocksutil/blob/master/examples/mutexlock_example.cc)\n\n### 5. LRUCache\nEasy way to use lru cache\n\nHere is an [EXAMPLE](https://github.com/KernelMaker/rocksutil/blob/master/examples/lru_cache_example.cc)\n\n### 6. File Writer \u0026 Reader\n\nEasy way to read \u0026 write file in random or sequential mode, and use EnvOptions to manipulate\nthe writer \u0026 reader to use [mmap, direct_io, buffer_read_write...]\n\nHere is an [EXAMPLE](https://github.com/KernelMaker/rocksutil/blob/master/examples/file_reader_writer_example.cc)\n\n### 7. Write Ahead Log\n\nEasy way to write or recover from a robust [format](https://github.com/KernelMaker/rocksutil/blob/master/util/log_format.h) wal, based on FileWriter \u0026 FileReader\n\nHere is an [EXAMPLE](https://github.com/KernelMaker/rocksutil/blob/master/examples/wal_example.cc)\n\n### 8. Others\nFind more info in\n\n[Slice](https://github.com/KernelMaker/rocksutil/blob/master/include/rocksutil/slice.h)\n\n[Coding](https://github.com/KernelMaker/rocksutil/blob/master/include/rocksutil/coding.h)\n\n[Status](https://github.com/KernelMaker/rocksutil/blob/master/include/rocksutil/status.h)\n\n[Hash](https://github.com/KernelMaker/rocksutil/blob/master/include/rocksutil/hash.h )\n\n[CRC32](https://github.com/KernelMaker/rocksutil/blob/master/include/rocksutil/crc32c.h )\n\n## Where is it from?\nThis ToolKit is mainly extracted from [rocksdb](https://github.com/facebook/rocksdb), I remove some specific features, change some and make it more\n**UNIVERSAL**\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKernelMaker%2Frocksutil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKernelMaker%2Frocksutil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKernelMaker%2Frocksutil/lists"}