log_producer_common.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #ifndef LOG_SDK_LOG_PRODUCER_COMMON_H_H
  2. #define LOG_SDK_LOG_PRODUCER_COMMON_H_H
  3. #include "log_define.h"
  4. #include <stdint.h>
  5. #include <stddef.h>
  6. #include "log_producer_config.h"
  7. #include "log_util.h"
  8. LOG_CPP_START
  9. #define MAX_LOG_COUNT 12
  10. /**
  11. * log producer result for all operation
  12. */
  13. typedef int log_producer_result;
  14. /**
  15. * callback function for producer client
  16. * @param result send result
  17. * @param log_bytes log group packaged bytes
  18. * @param compressed_bytes lz4 compressed bytes
  19. * @param error_message if send result is not ok, error message is set. must check if is NULL when use it
  20. * @param raw_buffer lz4 buffer
  21. * @note you can only read raw_buffer, but can't modify or free it
  22. */
  23. typedef void(*on_log_producer_send_done_function)(log_producer_result result, int log_bytes, int compressed_bytes, const char * req_id, const char * error_message, const unsigned char * raw_buffer, void *user_param);
  24. typedef void(*on_log_producer_send_done_uuid_function)(log_producer_result result,
  25. int log_bytes,
  26. int compressed_bytes,
  27. const char* req_id,
  28. const char* error_message,
  29. const unsigned char* raw_buffer,
  30. void* user_param,
  31. int send_count,
  32. char uuid[MAX_LOG_COUNT][MAX_UUID_LEN],
  33. char* modular);
  34. extern log_producer_result LOG_PRODUCER_OK;
  35. extern log_producer_result LOG_PRODUCER_INVALID;
  36. extern log_producer_result LOG_PRODUCER_WRITE_ERROR;
  37. extern log_producer_result LOG_PRODUCER_DROP_ERROR;
  38. extern log_producer_result LOG_PRODUCER_SEND_NETWORK_ERROR;
  39. extern log_producer_result LOG_PRODUCER_SEND_QUOTA_ERROR;
  40. extern log_producer_result LOG_PRODUCER_SEND_UNAUTHORIZED;
  41. extern log_producer_result LOG_PRODUCER_SEND_SERVER_ERROR;
  42. extern log_producer_result LOG_PRODUCER_SEND_DISCARD_ERROR;
  43. extern log_producer_result LOG_PRODUCER_SEND_TIME_ERROR;
  44. extern log_producer_result LOG_PRODUCER_SEND_EXIT_BUFFERED;
  45. extern log_producer_result LOG_PRODUCER_PERSISTENT_ERROR;
  46. /**
  47. * check if rst if ok
  48. * @param rst
  49. * @return 1 if ok, 0 not ok
  50. */
  51. LOG_EXPORT int is_log_producer_result_ok(log_producer_result rst);
  52. LOG_CPP_END
  53. #endif //LOG_C_SDK_LOG_PRODUCER_COMMON_H_H