提交 0439c525 编写于 作者: H Hongze Cheng

more

上级 f70c5503
......@@ -24,8 +24,8 @@ extern "C" {
typedef struct SDiskMgr SDiskMgr;
int tdmReadPage(int32_t pgid, char *pData);
int tdmWritePage(int32_t pgid, const char *pData);
int tdmReadPage(SDiskMgr *pDiskMgr, int32_t pgid, void *pData);
int tdmWritePage(SDiskMgr *pDiskMgr, int32_t pgid, const void *pData);
int32_t tdmAllocPage(SDiskMgr *pDiskMgr);
#ifdef __cplusplus
......
......@@ -18,11 +18,22 @@
struct SDiskMgr {
const char *fname;
uint16_t pgsize;
int fd;
FileFd fd;
int32_t npgid;
};
int tdmReadPage(int32_t pgid, char *pData) {}
#define PAGE_OFFSET(PGID, PGSIZE) ((PGID) * (PGSIZE))
int tdmWritePage(int32_t pgid, const char *pData) {}
int tdmReadPage(SDiskMgr *pDiskMgr, int32_t pgid, void *pData) {
taosLSeekFile(pDiskMgr->fd, PAGE_OFFSET(pgid, pDiskMgr->pgsize), SEEK_SET);
taosReadFile(pDiskMgr->fd, pData, pDiskMgr->pgsize);
return 0;
}
int32_t tdmAllocPage(SDiskMgr *pDiskMgr) {}
\ No newline at end of file
int tdmWritePage(SDiskMgr *pDiskMgr, int32_t pgid, const void *pData) {
taosLSeekFile(pDiskMgr->fd, PAGE_OFFSET(pgid, pDiskMgr->pgsize), SEEK_SET);
taosWriteFile(pDiskMgr->fd, pData, pDiskMgr->pgsize);
return 0;
}
int32_t tdmAllocPage(SDiskMgr *pDiskMgr) { return pDiskMgr->npgid++; }
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册