RyanMqttTest.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef __RyanMqttTest__
  2. #define __RyanMqttTest__
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #define _GNU_SOURCE // 必须放在所有头文件之前
  7. #include <stdio.h>
  8. #include <stdint.h>
  9. #include <string.h>
  10. #include <time.h>
  11. #include <stdlib.h>
  12. #include <stdbool.h>
  13. #include <unistd.h>
  14. #include <semaphore.h>
  15. #include <pthread.h>
  16. #include <sched.h>
  17. #include "valloc.h"
  18. #ifndef RyanMqttLogLevel
  19. #define RyanMqttLogLevel (RyanMqttLogLevelError) // 日志打印等级
  20. // #define RyanMqttLogLevel (RyanMqttLogLevelDebug) // 日志打印等级
  21. #endif
  22. #include "RyanMqttLog.h"
  23. #include "RyanMqttClient.h"
  24. #include "RyanMqttUtil.h"
  25. #include "RyanMqttTestUtile.h"
  26. #define RyanMqttClientId ("RyanMqttTest888") // 填写mqtt客户端id,要求唯一
  27. // #define RyanMqttHost ("127.0.0.1") // 填写你的mqtt服务器ip
  28. #define RyanMqttHost ("localhost") // 填写你的mqtt服务器ip
  29. #define RyanMqttPort (1883) // mqtt服务器端口
  30. #define RyanMqttUserName ("test") // 填写你的用户名,没有填NULL
  31. #define RyanMqttPassword ("test") // 填写你的密码,没有填NULL
  32. // #define RyanMqttUserName (NULL) // 填写你的用户名,没有填NULL
  33. // #define RyanMqttPassword (NULL) // 填写你的密码,没有填NULL
  34. #define RyanMqttReconnectTimeout (3000) // 重连间隔时间,单位ms
  35. #define RyanMqttRecvTimeout (2000) // 接收数据超时时间,单位ms
  36. #define RyanMqttSendTimeout (1800) // 发送数据超时时间,单位ms
  37. #define RyanMqttAckTimeout (3000) // 等待ack超时时间,单位ms
  38. // 定义枚举类型
  39. // 定义结构体类型
  40. struct RyanMqttTestEventUserData
  41. {
  42. uint32_t magic; // 防止野指针
  43. RyanMqttBool_e syncFlag;
  44. sem_t sem;
  45. void *userData;
  46. };
  47. /* extern variables-----------------------------------------------------------*/
  48. extern RyanMqttError_e RyanMqttTestInit(RyanMqttClient_t **client, RyanMqttBool_e syncFlag,
  49. RyanMqttBool_e autoReconnectFlag, uint16_t keepaliveTimeoutS,
  50. RyanMqttEventHandle mqttEventCallback, void *userData);
  51. extern RyanMqttError_e RyanMqttTestDestroyClient(RyanMqttClient_t *client);
  52. extern void mqttEventBaseHandle(void *pclient, RyanMqttEventId_e event, const void *eventData);
  53. extern RyanMqttError_e checkAckList(RyanMqttClient_t *client);
  54. extern RyanMqttError_e RyanMqttDestroyTest(void);
  55. extern RyanMqttError_e RyanMqttKeepAliveTest(void);
  56. extern RyanMqttError_e RyanMqttPubTest(void);
  57. extern RyanMqttError_e RyanMqttReconnectTest(void);
  58. extern RyanMqttError_e RyanMqttSubTest(void);
  59. extern RyanMqttError_e RyanMqttWildcardTest(void);
  60. extern RyanMqttError_e RyanMqttMultiThreadMultiClientTest(void);
  61. extern RyanMqttError_e RyanMqttMultiThreadSafetyTest(void);
  62. extern RyanMqttError_e RyanMqttPublicApiParamCheckTest(void);
  63. extern RyanMqttError_e RyanMqttNetworkFaultToleranceMemoryTest(void);
  64. extern RyanMqttError_e RyanMqttNetworkFaultQosResilienceTest(void);
  65. extern RyanMqttError_e RyanMqttMemoryFaultToleranceTest(void);
  66. #ifdef __cplusplus
  67. }
  68. #endif
  69. #endif