# mobs **Repository Path**: w9dreams/mobs ## Basic Information - **Project Name**: mobs - **Description**: Micro Object Buffer System - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-10-12 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Micro-Object Buffer System 微对象缓存系统 ### 特性 - Publisher-Subcriber(广播)和Producer-Consumer(消费)两种工作模式 - 支持多生产者和多消费者处理 - 支持多进程缓存共享和多线程缓存共享 - 与标准文件IO API类似风格和语义的简单易用的API接口 - 支持内存式共享和文件持久存储式数据共享方式 - 支持数据生产消费过程中的断点续传功能 - 纯C语言实现,不依赖任何额外的第三方库 - 只专注于数据对象的缓存管理,不附加额外的数据类型处理逻辑 - 缓存空间的自动循环覆盖,生产者的最新数据对象写入保证成功 ### 接口 ```C uintptr_t mobs_open(const char *user_name,const char *buf_name,int flags,size_t size, size_t max_object_num,size_t data_page_size); // return uid int mobs_close(uintptr_t uid); int mobs_flush(uintptr_t uid); int mobs_unlink(const char *buf_name); int mobs_start(uintptr_t uid,int flags); // return oid int mobs_write(uintptr_t uid,int oid,void *data,size_t count); int mobs_read (uintptr_t uid,int oid,void *data,size_t count); int mobs_finish(uintptr_t uid,int oid); int mobs_cancel(uintptr_t uid,int oid); ``` 关于接口的详细使用说明请查看MobsBuf.h头文件中的接口注释。