#ifndef __sender_history_h_ #define __sender_history_h_ #include "../estimator/estimator_common.h" #include "../common/cf_platform.h" #include "../common/cf_skiplist.h" #include "../common/cf_unwrapper.h" typedef struct { uint32_t limited_ms; cf_unwrapper_t wrapper; int64_t last_ack_seq_num; skiplist_t* l; size_t outstanding_bytes; }sender_history_t; sender_history_t* sender_history_create(uint32_t limited_ms); void sender_history_destroy(sender_history_t* hist); void sender_history_add(sender_history_t* hist, packet_feedback_t* packet); int sender_history_get(sender_history_t* hist, uint16_t seq, packet_feedback_t* packet, int remove_flag); size_t sender_history_outstanding_bytes(sender_history_t* hist); #endif