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

more

上级 f70c5503
...@@ -24,8 +24,8 @@ extern "C" { ...@@ -24,8 +24,8 @@ extern "C" {
typedef struct SDiskMgr SDiskMgr; typedef struct SDiskMgr SDiskMgr;
int tdmReadPage(int32_t pgid, char *pData); int tdmReadPage(SDiskMgr *pDiskMgr, int32_t pgid, void *pData);
int tdmWritePage(int32_t pgid, const char *pData); int tdmWritePage(SDiskMgr *pDiskMgr, int32_t pgid, const void *pData);
int32_t tdmAllocPage(SDiskMgr *pDiskMgr); int32_t tdmAllocPage(SDiskMgr *pDiskMgr);
#ifdef __cplusplus #ifdef __cplusplus
......
...@@ -18,11 +18,22 @@ ...@@ -18,11 +18,22 @@
struct SDiskMgr { struct SDiskMgr {
const char *fname; const char *fname;
uint16_t pgsize; 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) {} int tdmWritePage(SDiskMgr *pDiskMgr, int32_t pgid, const void *pData) {
\ No newline at end of file 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.
先完成此消息的编辑!
想要评论请 注册