29 #ifndef SELECTIVE_REPEAT_H
30 #define SELECTIVE_REPEAT_H
61 const int Buffer_size_factor,
62 const int Link_packet_size,
63 const Ttype Time_out);
91 void handle_packet_input(
Packet *P);
92 void handle_packet_output_request(
int K);
93 void handle_query_nof_ready_packets(
void*);
94 void retransmit(
int Sequence_number);
95 void remove(
const int Sequence_number);
96 void push_packet_on_tx_buffer(
Packet *packet);
97 int buffered_non_outstanding();
98 int free_sequence_numbers();
99 int sequence_number_2_buffer_index(
const int Sequence_number);
100 void schedule_output(
const int Buffer_index,
const int Sequence_number,
const bool Retransmission);
101 void cancel_output(
const int Sequence_number);
103 int feasable_blocks();
107 int input_buffer_size;
109 int input_free_space;
120 ivec retransmission_indexes;
124 int scheduled_retransmissions;
126 int link_packet_size;
156 bool greater_modulo_L(
const int a,
const int b);
170 #endif // #ifndef SELECTIVE_REPEAT_H