diff options
| author | luwenpeng <[email protected]> | 2024-09-14 18:38:37 +0800 |
|---|---|---|
| committer | luwenpeng <[email protected]> | 2024-09-18 14:36:31 +0800 |
| commit | 721d5d1466541cc54a991fc5359cd7013e10f936 (patch) | |
| tree | 0c0ea2064c7540ad9c4b8d096b88751ed3861e60 /include | |
| parent | f559d67b93df78e9f6d5c3fe301b688b5c857d98 (diff) | |
feature(packet manager): support claim packt and add test case
Diffstat (limited to 'include')
| -rw-r--r-- | include/stellar/log.h | 36 | ||||
| -rw-r--r-- | include/stellar/packet_manager.h | 8 |
2 files changed, 11 insertions, 33 deletions
diff --git a/include/stellar/log.h b/include/stellar/log.h index 52cc174..a075267 100644 --- a/include/stellar/log.h +++ b/include/stellar/log.h @@ -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__); \ } diff --git a/include/stellar/packet_manager.h b/include/stellar/packet_manager.h index 87e6aed..5d78ec3 100644 --- a/include/stellar/packet_manager.h +++ b/include/stellar/packet_manager.h @@ -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 |
