Loading prrt/cprrt.pxd +1 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,7 @@ cdef extern from "proto/socket.h": uint32_t PrrtSocket_get_pacing_rate(PrrtSocket *s) uint32_t PrrtSocket_get_send_quantum(PrrtSocket *s) uint32_t PrrtSocket_get_pipe(PrrtSocket *s) uint32_t PrrtSocket_get_delivered(PrrtSocket *s) bint PrrtSocket_get_app_limited(PrrtSocket *socket) Loading prrt/proto/channelStateInformation.c +0 −4 Original line number Diff line number Diff line Loading @@ -82,7 +82,3 @@ prrtPacketLossRate_t PrrtChannelStateInformation_get_plr(PrrtChannelStateInforma prrtDeliveryRate_t PrrtChannelStateInformation_get_delivery_rate(PrrtChannelStateInformation *csi) { return csi->deliveryRate; } No newline at end of file bool PrrtChannelStateInformation_get_app_limited(PrrtChannelStateInformation *csi) { return csi->appLimited; } No newline at end of file prrt/proto/processes/feedbackReceiver.c +7 −4 Original line number Diff line number Diff line Loading @@ -39,17 +39,20 @@ static void handle_feedback(PrrtSocket *prrtSocket, const size_t length) PrrtPacketFeedbackPayload *feedbackPayload = (PrrtPacketFeedbackPayload *) prrtPacket->payload; prrtTimestamp_t forwardTripTimestamp = feedbackPayload->forwardTripTimestamp_us; PrrtChannelStateInformation_update_rtprop(prrtSocket->receiver->csi, (prrtTimedelta_t) (receiveTime - forwardTripTimestamp)); PrrtChannelStateInformation_update_plr(prrtSocket->receiver->csi, feedbackPayload->erasureCount, feedbackPayload->packetCount); bool valid_sample = PrrtReceiver_updateAndGenerateRateSample(prrtSocket->receiver, feedbackPayload->ackSequenceNumber, feedbackPayload->ackPacketType, receiveTime); bool valid_sample = PrrtReceiver_updateAndGenerateRateSample(prrtSocket->receiver, feedbackPayload->ackSequenceNumber, feedbackPayload->ackPacketType, receiveTime); if(prrtSocket->receiver->rateSample != NULL) { BBR_OnACK(prrtSocket->receiver->bbr, prrtSocket->receiver->csi, prrtSocket->receiver->rateSample, prrtSocket->receiver->packetTracking); } if(valid_sample) { PrrtChannelStateInformation_update_delivery_rate(prrtSocket->receiver->csi, prrtPacket, prrtSocket->receiver->rateSample); } PrrtChannelStateInformation_update_app_limited(prrtSocket->receiver->csi, prrtSocket->receiver->rateSample->is_app_limited); PrrtChannelStateInformation_update_rtprop(prrtSocket->receiver->csi, (prrtTimedelta_t) (receiveTime - forwardTripTimestamp)); PrrtChannelStateInformation_update_plr(prrtSocket->receiver->csi, feedbackPayload->erasureCount, feedbackPayload->packetCount); error: if(prrtPacket != NULL) { PrrtPacket_destroy(prrtPacket); } Loading prrt/proto/receiver.c +1 −4 Original line number Diff line number Diff line Loading @@ -129,7 +129,7 @@ void PrrtReceiver_on_application_write(PrrtReceiver *receiver, uint32_t send_que bool PrrtReceiver_generateRateSample(PrrtRateSample *rateSample, PrrtPacketTracking *packetTracking) { /* Clear app-limited field */ if (packetTracking->app_limited && packetTracking->delivered > packetTracking->app_limited) if (packetTracking->app_limited > 0 && packetTracking->delivered > packetTracking->app_limited) packetTracking->app_limited = 0; if (rateSample->prior_time == 0) { Loading Loading @@ -183,9 +183,6 @@ bool PrrtReceiver_updateAndGenerateRateSample(PrrtReceiver *recv, prrtSequenceNu check(pthread_cond_broadcast(&recv->pipeNotFullCv) == 0, "Signal failed."); recv->packetTracking->prior_inflight = recv->packetTracking->pipe; if(recv->rateSample != NULL && result) { BBR_OnACK(recv->bbr, recv->csi, recv->rateSample, recv->packetTracking); } return result; error: Loading prrt/proto/socket.c +6 −1 Original line number Diff line number Diff line Loading @@ -640,6 +640,11 @@ prrtByteCount_t PrrtSocket_get_pipe(PrrtSocket *s) { return s->receiver->packetTracking->pipe; }; prrtByteCount_t PrrtSocket_get_delivered(PrrtSocket *s) { return s->receiver->packetTracking->delivered; }; float PrrtSocket_get_pacing_gain(PrrtSocket *s) { return BBR_getPacingGain(s->receiver->bbr); } Loading @@ -653,5 +658,5 @@ uint32_t PrrtSocket_get_cycle_index(PrrtSocket *s) { } bool PrrtSocket_get_app_limited(PrrtSocket *s) { return PrrtChannelStateInformation_get_app_limited(s->receiver->csi); return s->receiver->rateSample->is_app_limited; } Loading
prrt/cprrt.pxd +1 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,7 @@ cdef extern from "proto/socket.h": uint32_t PrrtSocket_get_pacing_rate(PrrtSocket *s) uint32_t PrrtSocket_get_send_quantum(PrrtSocket *s) uint32_t PrrtSocket_get_pipe(PrrtSocket *s) uint32_t PrrtSocket_get_delivered(PrrtSocket *s) bint PrrtSocket_get_app_limited(PrrtSocket *socket) Loading
prrt/proto/channelStateInformation.c +0 −4 Original line number Diff line number Diff line Loading @@ -82,7 +82,3 @@ prrtPacketLossRate_t PrrtChannelStateInformation_get_plr(PrrtChannelStateInforma prrtDeliveryRate_t PrrtChannelStateInformation_get_delivery_rate(PrrtChannelStateInformation *csi) { return csi->deliveryRate; } No newline at end of file bool PrrtChannelStateInformation_get_app_limited(PrrtChannelStateInformation *csi) { return csi->appLimited; } No newline at end of file
prrt/proto/processes/feedbackReceiver.c +7 −4 Original line number Diff line number Diff line Loading @@ -39,17 +39,20 @@ static void handle_feedback(PrrtSocket *prrtSocket, const size_t length) PrrtPacketFeedbackPayload *feedbackPayload = (PrrtPacketFeedbackPayload *) prrtPacket->payload; prrtTimestamp_t forwardTripTimestamp = feedbackPayload->forwardTripTimestamp_us; PrrtChannelStateInformation_update_rtprop(prrtSocket->receiver->csi, (prrtTimedelta_t) (receiveTime - forwardTripTimestamp)); PrrtChannelStateInformation_update_plr(prrtSocket->receiver->csi, feedbackPayload->erasureCount, feedbackPayload->packetCount); bool valid_sample = PrrtReceiver_updateAndGenerateRateSample(prrtSocket->receiver, feedbackPayload->ackSequenceNumber, feedbackPayload->ackPacketType, receiveTime); bool valid_sample = PrrtReceiver_updateAndGenerateRateSample(prrtSocket->receiver, feedbackPayload->ackSequenceNumber, feedbackPayload->ackPacketType, receiveTime); if(prrtSocket->receiver->rateSample != NULL) { BBR_OnACK(prrtSocket->receiver->bbr, prrtSocket->receiver->csi, prrtSocket->receiver->rateSample, prrtSocket->receiver->packetTracking); } if(valid_sample) { PrrtChannelStateInformation_update_delivery_rate(prrtSocket->receiver->csi, prrtPacket, prrtSocket->receiver->rateSample); } PrrtChannelStateInformation_update_app_limited(prrtSocket->receiver->csi, prrtSocket->receiver->rateSample->is_app_limited); PrrtChannelStateInformation_update_rtprop(prrtSocket->receiver->csi, (prrtTimedelta_t) (receiveTime - forwardTripTimestamp)); PrrtChannelStateInformation_update_plr(prrtSocket->receiver->csi, feedbackPayload->erasureCount, feedbackPayload->packetCount); error: if(prrtPacket != NULL) { PrrtPacket_destroy(prrtPacket); } Loading
prrt/proto/receiver.c +1 −4 Original line number Diff line number Diff line Loading @@ -129,7 +129,7 @@ void PrrtReceiver_on_application_write(PrrtReceiver *receiver, uint32_t send_que bool PrrtReceiver_generateRateSample(PrrtRateSample *rateSample, PrrtPacketTracking *packetTracking) { /* Clear app-limited field */ if (packetTracking->app_limited && packetTracking->delivered > packetTracking->app_limited) if (packetTracking->app_limited > 0 && packetTracking->delivered > packetTracking->app_limited) packetTracking->app_limited = 0; if (rateSample->prior_time == 0) { Loading Loading @@ -183,9 +183,6 @@ bool PrrtReceiver_updateAndGenerateRateSample(PrrtReceiver *recv, prrtSequenceNu check(pthread_cond_broadcast(&recv->pipeNotFullCv) == 0, "Signal failed."); recv->packetTracking->prior_inflight = recv->packetTracking->pipe; if(recv->rateSample != NULL && result) { BBR_OnACK(recv->bbr, recv->csi, recv->rateSample, recv->packetTracking); } return result; error: Loading
prrt/proto/socket.c +6 −1 Original line number Diff line number Diff line Loading @@ -640,6 +640,11 @@ prrtByteCount_t PrrtSocket_get_pipe(PrrtSocket *s) { return s->receiver->packetTracking->pipe; }; prrtByteCount_t PrrtSocket_get_delivered(PrrtSocket *s) { return s->receiver->packetTracking->delivered; }; float PrrtSocket_get_pacing_gain(PrrtSocket *s) { return BBR_getPacingGain(s->receiver->bbr); } Loading @@ -653,5 +658,5 @@ uint32_t PrrtSocket_get_cycle_index(PrrtSocket *s) { } bool PrrtSocket_get_app_limited(PrrtSocket *s) { return PrrtChannelStateInformation_get_app_limited(s->receiver->csi); return s->receiver->rateSample->is_app_limited; }