This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
stellar-stellar/include/stellar/packet_manager.h
2024-09-13 18:07:40 +08:00

26 lines
868 B
C

#pragma once
#ifdef __cplusplus
extern "C"
{
#endif
#include "packet.h"
struct packet_manager;
struct packet_manager_schema;
struct packet_manager_runtime;
struct packet_manager_schema *packet_manager_get_schema(struct packet_manager *pkt_mgr);
struct packet_manager_runtime *packet_manager_get_runtime(struct packet_manager *pkt_mgr, uint16_t thr_idx);
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 *schema, enum packet_stage stage, on_packet_stage_callback cb, void *args);
void packet_manager_runtime_take_packet(struct packet_manager_runtime *pkt_mgr_rt, struct packet *pkt);
void packet_manager_runtime_schedule_packet(struct packet_manager_runtime *pkt_mgr_rt, struct packet *pkt, enum packet_stage stage);
#ifdef __cplusplus
}
#endif