feature(packet manager): support claim packt and add test case
This commit is contained in:
@@ -16,61 +16,37 @@ enum log_level
|
||||
};
|
||||
|
||||
#define STELLAR_LOG_TRACE(logger, module, format, ...) \
|
||||
if ((logger) == NULL) \
|
||||
{ \
|
||||
printf("TRACE: (%s): " format "\n", module, ##__VA_ARGS__); \
|
||||
} \
|
||||
else if (log_check_level((logger), LOG_TRACE)) \
|
||||
if (log_check_level((logger), LOG_TRACE)) \
|
||||
{ \
|
||||
log_print((logger), LOG_TRACE, (module), (format), ##__VA_ARGS__); \
|
||||
}
|
||||
|
||||
#define STELLAR_LOG_DEBUG(logger, module, format, ...) \
|
||||
if ((logger) == NULL) \
|
||||
{ \
|
||||
printf("DEBUG: (%s): " format "\n", module, ##__VA_ARGS__); \
|
||||
} \
|
||||
else if (log_check_level((logger), LOG_DEBUG)) \
|
||||
if (log_check_level((logger), LOG_DEBUG)) \
|
||||
{ \
|
||||
log_print((logger), LOG_DEBUG, (module), (format), ##__VA_ARGS__); \
|
||||
}
|
||||
|
||||
#define STELLAR_LOG_INFO(logger, module, format, ...) \
|
||||
if ((logger) == NULL) \
|
||||
{ \
|
||||
printf("INFO: (%s): " format "\n", module, ##__VA_ARGS__); \
|
||||
} \
|
||||
else if (log_check_level((logger), LOG_INFO)) \
|
||||
if (log_check_level((logger), LOG_INFO)) \
|
||||
{ \
|
||||
log_print((logger), LOG_INFO, (module), (format), ##__VA_ARGS__); \
|
||||
}
|
||||
|
||||
#define STELLAR_LOG_WARN(logger, module, format, ...) \
|
||||
if ((logger) == NULL) \
|
||||
{ \
|
||||
printf("WARN: (%s): " format "\n", module, ##__VA_ARGS__); \
|
||||
} \
|
||||
else if (log_check_level((logger), LOG_WARN)) \
|
||||
if (log_check_level((logger), LOG_WARN)) \
|
||||
{ \
|
||||
log_print((logger), LOG_WARN, (module), (format), ##__VA_ARGS__); \
|
||||
}
|
||||
|
||||
#define STELLAR_LOG_ERROR(logger, module, format, ...) \
|
||||
if ((logger) == NULL) \
|
||||
{ \
|
||||
printf("ERROR: (%s): " format "\n", module, ##__VA_ARGS__); \
|
||||
} \
|
||||
else if (log_check_level((logger), LOG_ERROR)) \
|
||||
if (log_check_level((logger), LOG_ERROR)) \
|
||||
{ \
|
||||
log_print((logger), LOG_ERROR, (module), (format), ##__VA_ARGS__); \
|
||||
}
|
||||
|
||||
#define STELLAR_LOG_FATAL(logger, module, format, ...) \
|
||||
if ((logger) == NULL) \
|
||||
{ \
|
||||
printf("FATAL: (%s): " format "\n", module, ##__VA_ARGS__); \
|
||||
} \
|
||||
else if (log_check_level((logger), LOG_FATAL)) \
|
||||
if (log_check_level((logger), LOG_FATAL)) \
|
||||
{ \
|
||||
log_print((logger), LOG_FATAL, (module), (format), ##__VA_ARGS__); \
|
||||
}
|
||||
|
||||
@@ -27,9 +27,11 @@ struct packet_manager_runtime *packet_manager_get_runtime(struct packet_manager
|
||||
typedef void on_packet_stage_callback(enum packet_stage stage, struct packet *pkt, void *args);
|
||||
int packet_manager_schema_add_subscriber(struct packet_manager_schema *pkt_mgr_schema, enum packet_stage stage, on_packet_stage_callback cb, void *args);
|
||||
|
||||
// take 只执行一次 ???
|
||||
// 同一 stage 后面的 msg 是否中断???不中断
|
||||
void packet_manager_runtime_take_packet(struct packet_manager_runtime *pkt_mgr_rt, struct packet *pkt);
|
||||
// if two modules claim the same packet at the same stage, the second 'claim' fails.
|
||||
// return 0 on success
|
||||
// return -1 on failure
|
||||
typedef void on_packet_claimed_callback(struct packet *pkt, void *args);
|
||||
int packet_manager_runtime_claim_packet(struct packet_manager_runtime *pkt_mgr_rt, struct packet *pkt, on_packet_claimed_callback cb, void *args);
|
||||
void packet_manager_runtime_schedule_packet(struct packet_manager_runtime *pkt_mgr_rt, struct packet *pkt, enum packet_stage stage);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
Reference in New Issue
Block a user