channelStateInformation.h 1.1 KB
Newer Older
1
2
3
#ifndef PRRT_CHANNELSTATEINFORMATION_H
#define PRRT_CHANNELSTATEINFORMATION_H

Andreas Schmidt's avatar
Andreas Schmidt committed
4
#include <stdbool.h>
5
#include "packet.h"
6
7

typedef struct prrtChannelStateInformation {
8
    pthread_mutex_t lock;
9
10
11
12
    prrtTimedelta_t rtprop;
    prrtTimestamp_t rtprop_stamp;
    prrtTimedelta_t rtprop_filter_length_us;
    bool rtprop_expired;
Andreas Schmidt's avatar
Andreas Schmidt committed
13
    prrtPacketLossRate_t plr;
14
15
} PrrtChannelStateInformation;

16
PrrtChannelStateInformation* PrrtChannelStateInformation_create(void);
17
18
void PrrtChannelStateInformation_update_rtprop(PrrtChannelStateInformation *csi, prrtTimedelta_t rtprop);
prrtTimedelta_t PrrtChannelStateInformation_get_rtprop(PrrtChannelStateInformation *csi);
Andreas Schmidt's avatar
Andreas Schmidt committed
19
20
21
prrtPacketLossRate_t PrrtChannelStateInformation_get_plr(PrrtChannelStateInformation* csi);
void PrrtChannelStateInformation_update_plr(PrrtChannelStateInformation *csi, prrtSequenceNumber_t erasures,
                                                   prrtSequenceNumber_t packets);
22
bool PrrtChannelStateInformation_destroy(PrrtChannelStateInformation* csi);
23
24
25
26

void PrrtChannelStateInformation_print(PrrtChannelStateInformation *csi);

#endif //PRRT_CHANNELSTATEINFORMATION_H