hwc_global.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * =====================================================================================
  3. *
  4. * Filename: global.h
  5. *
  6. * Description: global class definition.
  7. *
  8. * Version: 1.0
  9. * Created: 11/01/2021
  10. * Revision: none
  11. * Compiler: gcc
  12. *
  13. * Author: chenyujie, chenyujie28@jd.com@jd.com
  14. * Company: JD.com, Inc.
  15. *
  16. * =====================================================================================
  17. */
  18. #ifndef __HB_GLOBAL_H
  19. #define __HB_GLOBAL_H
  20. /* output u64 format */
  21. #if __WORDSIZE == 64
  22. # define UINT64FMT "%lu"
  23. #else
  24. # define UINT64FMT "%llu"
  25. #endif
  26. #define MAX_ASYNC_FILE_SIZE (10<<20) //10M
  27. #define ASYNC_FILE_CONTROLLER_SIZE 512 //512bytes
  28. #define ASYNC_FILE_PATH "../log/hwc"
  29. #define ASYNC_FILE_CONTROLLER ASYNC_FILE_PATH"/controller"
  30. #define ASYNC_FILE_NAME ASYNC_FILE_PATH"/hwc_"
  31. #define ASYNC_FILE_END_FLAG 0xFFFFFFFFUL
  32. #define ASYNC_WRITER_MAP_FILES 0x3
  33. #define READER_SLEEP_TIME 500 //500ms
  34. #define READER_RETRY_COUNT 20
  35. #define SYS_CONFIG_FILE "../conf/hbp.conf"
  36. /*
  37. * err code
  38. */
  39. class CHBGlobal {
  40. public:
  41. enum {
  42. ASYNC_PROCESS_OK = 0,
  43. ASYNC_PROCESS_ERR = -1,
  44. };
  45. enum {
  46. ASYNC_NEED_SWTICH_FILE = -10,
  47. ASYNC_READER_WAIT_DATA = -11,
  48. };
  49. enum {
  50. ERR_ASYNC_WRITER_OVERFLOW = -20,
  51. ERR_ASYNC_READER_OVERFLOW = -21,
  52. ERR_ASYNC_READER_POS_ERR = -22,
  53. ERR_ASYNC_WRITER_POS_ERR = -23,
  54. ERR_ASYNC_CONTROLLER_ERR = -24,
  55. ERR_ASYNC_WRITER_LOGIC = -25,
  56. ERR_ASYNC_READER_LOGIC = -26,
  57. ERR_ASYNC_SWTICH_FILE_ERR = -27,
  58. ERR_FULL_SYNC_NOT_COMPLETE = -28,
  59. };
  60. //type
  61. enum {
  62. SYNC_LRU = 1,
  63. SYNC_INSERT = 2,
  64. SYNC_UPDATE = 4,
  65. SYNC_PURGE = 8,
  66. SYNC_DELETE = 16,
  67. SYNC_CLEAR = 32,
  68. SYNC_COLEXPAND = 64,
  69. SYNC_COLEXPAND_CMD = 128,
  70. };
  71. };
  72. #endif