haproxy/include/haproxy/ncbuf_common-t.h
Amaury Denoyelle 59f0bafef2 MINOR: ncbuf: extract common types
ncbuf is a module which provide a non-contiguous buffer type
implementation. This patch extracts some basic types related to it into
a new file ncbuf_common.h.

This patch will be useful to provide a new non-contiguous buffer
alternative implementation based on a bitmap.

This patch is not a bug fix. However, it is necessary for ncbmbuf
implementation which will be required to fix a QUIC issue on CRYPTO
frames parsing. This, it will be necessary to backport the current patch
prior to the fix to come.
2025-10-22 11:11:20 +02:00

28 lines
966 B
C

#ifndef _HAPROXY_NCBUF_COMMON_T_H
#define _HAPROXY_NCBUF_COMMON_T_H
#include <inttypes.h>
/* ncb_sz_t is the basic type used in ncbuf to represent data and gap sizes.
* Use a bigger type to extend the maximum data size supported in the buffer.
* On the other hand, this also increases the minimal gap size which can
* cause more rejection for add/delete operations.
*/
typedef uint32_t ncb_sz_t;
enum ncb_ret {
NCB_RET_OK = 0, /* no error */
NCB_RET_GAP_SIZE, /* operation would create a too small gap */
NCB_RET_DATA_REJ, /* operation would overwrite data with different one */
};
/* Define how insert is conducted in regards with already stored data. */
enum ncb_add_mode {
NCB_ADD_PRESERVE, /* keep the already stored data and only insert in gaps */
NCB_ADD_OVERWRT, /* overwrite old data with new ones */
NCB_ADD_COMPARE, /* compare before insert : if new data are different do not proceed */
};
#endif /* _HAPROXY_NCBUF_COMMON_T_H */