[ https://issues.apache.org/jira/browse/TS-795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Peach reassigned TS-795: ------------------------------ Assignee: James Peach > Clean up definitions and usage of buffer size indexes vs buffer sizes > --------------------------------------------------------------------- > > Key: TS-795 > URL: https://issues.apache.org/jira/browse/TS-795 > Project: Traffic Server > Issue Type: Improvement > Components: Core > Reporter: Leif Hedstrom > Assignee: James Peach > Fix For: sometime > > > Right now, we have a set of defines, and APIs, which can take either a > "index" to a size (used e.g. for an allocator index), or a real size. Both of > these are currently int64_t in all APIs and member variables, and in the > implementations, the usage are sometimes overloaded (i.e. we do "size" > calculations on top of the indexes, making for real confusing code). > There's also a lack of proper identification of what is an "size index" type > (or parameter), and what is a "size". This makes for risky code. > I think we should clean up all the implementations and APIs, as follow > 1) Make proper names of all APIs and macros, clearly indicating if it's > working on a size index or a size. > 2) Keep only the size types, parameters and macros using int64_t. Do not > overload "real" size over the size indexes. > 3) We either make the size indexes an "int" (or even a short), or perhaps > even better an enum (like below). All APIs, parameters, and member variables > that refer to such size indexes would use this appropriate type. > {code} > enum BufferSizeIndex { > BUFFER_SIZE_INDEX_128 = 0, > BUFFER_SIZE_INDEX_256, /* 1 */ > BUFFER_SIZE_INDEX_512, /* 2 */ > BUFFER_SIZE_INDEX_1K, /* 3 */ > BUFFER_SIZE_INDEX_2K, /* 4 */ > BUFFER_SIZE_INDEX_4K, /* 5 */ > BUFFER_SIZE_INDEX_8K, /* 6 */ > BUFFER_SIZE_INDEX_16K, /* 7 */ > BUFFER_SIZE_INDEX_32K, /* 8 */ > BUFFER_SIZE_INDEX_64K, /* 9 */ > BUFFER_SIZE_INDEX_128K, /* 10 */ > BUFFER_SIZE_INDEX_256K, /* 11 */ > BUFFER_SIZE_INDEX_512K, /* 12 */ > BUFFER_SIZE_INDEX_1M, /* 13 */ > BUFFER_SIZE_INDEX_2M, /* 14 */ > /* These have special semantics */ > BUFFER_SIZE_NOT_ALLOCATED, > }; > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)