12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // SPDX-License-Identifier: GPL-3.0-or-later
- #ifndef DBENGINE_PDC_H
- #define DBENGINE_PDC_H
- #include "../engine/rrdengine.h"
- struct rrdeng_cmd;
- #ifdef PDC_USE_JULYL
- #define PDCJudyLIns JulyLIns
- #define PDCJudyLGet JulyLGet
- #define PDCJudyLFirst JulyLFirst
- #define PDCJudyLNext JulyLNext
- #define PDCJudyLLast JulyLLast
- #define PDCJudyLPrev JulyLPrev
- #define PDCJudyLFirstThenNext JulyLFirstThenNext
- #define PDCJudyLLastThenPrev JulyLLastThenPrev
- #define PDCJudyLFreeArray JulyLFreeArray
- #else
- #define PDCJudyLIns JudyLIns
- #define PDCJudyLGet JudyLGet
- #define PDCJudyLFirst JudyLFirst
- #define PDCJudyLNext JudyLNext
- #define PDCJudyLLast JudyLLast
- #define PDCJudyLPrev JudyLPrev
- #define PDCJudyLFirstThenNext JudyLFirstThenNext
- #define PDCJudyLLastThenPrev JudyLLastThenPrev
- #define PDCJudyLFreeArray JudyLFreeArray
- #endif
- typedef struct extent_page_details_list EPDL;
- typedef void (*execute_extent_page_details_list_t)(struct rrdengine_instance *ctx, EPDL *epdl, enum storage_priority priority);
- void pdc_to_epdl_router(struct rrdengine_instance *ctx, struct page_details_control *pdc, execute_extent_page_details_list_t exec_first_extent_list, execute_extent_page_details_list_t exec_rest_extent_list);
- void epdl_find_extent_and_populate_pages(struct rrdengine_instance *ctx, EPDL *epdl, bool worker);
- size_t pdc_cache_size(void);
- size_t pd_cache_size(void);
- size_t epdl_cache_size(void);
- size_t deol_cache_size(void);
- size_t extent_buffer_cache_size(void);
- void pdc_init(void);
- void page_details_init(void);
- void epdl_init(void);
- void deol_init(void);
- void extent_buffer_cleanup1(void);
- void epdl_cmd_dequeued(void *epdl_ptr);
- void epdl_cmd_queued(void *epdl_ptr, struct rrdeng_cmd *cmd);
- struct extent_buffer {
- size_t bytes;
- struct {
- struct extent_buffer *prev;
- struct extent_buffer *next;
- } cache;
- uint8_t data[];
- };
- void extent_buffer_init(void);
- struct extent_buffer *extent_buffer_get(size_t size);
- void extent_buffer_release(struct extent_buffer *eb);
- #endif // DBENGINE_PDC_H
|