arcus-memcached
arcus-memcached copied to clipboard
INTERNAL: Refactor the structure of additional item in mblck
๐ Related Issue
- jam2in/arcus-works#539
โจ๏ธ What I did
1. memory block ์์ value_item ๋ฅผ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝํฉ๋๋ค.
- Additional ritem์ผ๋ก ํ์ฉ๋๋ ์๋์ 3๊ฐ์ง item์ด ๋์ผํ ํ์
์ ๊ฐ๊ฒ ๋ ํ๊ธฐ ์ํจ์
๋๋ค.
- hash item : value_item
- element item : value_item
- memory block item : mblck_node_t
- value_item์ผ๋ก ๋ณ๊ฒฝ ์ ์๋ ์ฌํญ์ ๊ณ ๋ คํด์ผ ํ์ต๋๋ค.
- memory block์ body_len ๊ณ์ฐ
- pool->body_len = blck_len - sizeof(void *); + pool->body_len = blck_len - (sizeof(void *) + sizeof(uint32_t))
- memory block์ body_len ๊ณ์ฐ
2. Memory Block List ์๋ฃ ๊ตฌ์กฐ ๋ด์์ Head๋ฅผ ์ ์ธํ Memory Block์ Additional List์ ๋ฃ์ด๋ก๋๋ค.
- Additional List๋ ์ธ๋ฑ์ค ๊ธฐ๋ฐ(rindex)์ผ๋ก ๋ค์ item์ ์ ๊ทผํ ๋ ํ์ฉ๋ฉ๋๋ค.
๐ฏ To Do
- [x] ~Ubuntu์์ unit test ์คํจ ๋ฐ์ : ์์ธ ํ์
์ค~
- ์ด๊ธฐ๊ฐ์ผ๋ก NULL์ด ๋ค์ด๊ฐ์ง ์์ ์ ์์
- [x] ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ๋ก์ง ์ถ๊ฐ
- [ ] mblck_list ์์ body_len ์ ๊ฑฐ : value_item ๋ด๋ถ์ len ์ ๋ณด๋ฅผ ๋ด์
- [x] ๊ด๋ จ ๋งคํฌ๋ก ์ ๋ฆฌ
- [x] ๋งํฌ๋๋ฆฌ์คํธ ์กฐํ๋ฅผ ์ํด ์ฌ์ฉ๋ c->membk ์ ๊ฑฐ