Commit 036a0325 authored by Marlene Böhmer's avatar Marlene Böhmer

Replace bandwidth by datarate.

parent 212fbc08
Pipeline #3419 passed with stages
in 1 minute and 57 seconds
......@@ -26,7 +26,7 @@ local pf_data_btl_pace = ProtoField.uint32("prrt.data.btl_pace", "Bottleneck Pac
local pf_data_timestamp = ProtoField.uint32("prrt.data.timestamp", "Timestamp")
local pf_data_groupRTprop = ProtoField.uint32("prrt.data.grouprtprop", "Group RTprop")
local pf_data_packettimeout = ProtoField.uint32("prrt.data.packettimeout", "Packet Timeout")
local pf_data_btlbw = ProtoField.uint32("prrt.data.btlbw", "Bottleneck Datarate")
local pf_data_btlDatarate = ProtoField.uint32("prrt.data.btl_datarate", "Bottleneck Datarate")
local pf_red = ProtoField.new("Redundancy", "prrt.redundancy", ftypes.BYTES, base.NONE)
local pf_red_baseSeqN = ProtoField.uint16("prrt.redundancy.baseSequenceNumber", "Base Sequence Number", base.DEC)
......@@ -61,7 +61,7 @@ prrt_proto.fields = {
pf_data_timestamp,
pf_data_groupRTprop,
pf_data_packettimeout,
pf_data_btlbw,
pf_data_btlDatarate,
pf_red,
pf_red_baseSeqN,
......@@ -124,7 +124,7 @@ local function dissect_data(buffer, pinfo, root)
tree:add(pf_data_timestamp, buffer:range(8,4))
tree:add(pf_data_groupRTprop, buffer:range(12,4))
tree:add(pf_data_packettimeout, buffer:range(16,4))
tree:add(pf_data_btlbw, buffer:range(20,4))
tree:add(pf_data_btlDatarate, buffer:range(20,4))
local label = "[D] Idx=" .. getIndex() .. " Len=" .. getDataLength()
tree:set_text(label)
......
......@@ -87,7 +87,7 @@ static int hf_prrt_payload = -1; /* payload with arbitrary length, depend
static int hf_prrt_receiver_addr = -1; /* 32 bits IP address of the receiver */
static int hf_prrt_rtt_probe = -1; /* 32 bits timestamp of most recent data packet plus delay since reception of this packet. */
static int hf_prrt_plr = -1; /* 32 bits packet loss rate measured at the receiver. */
static int hf_prrt_bw_est = -1; /* 32 bits bandwidth estimated at the receiver. */
static int hf_prrt_datarate_est = -1; /* 32 bits datarate estimated at the receiver. */
/* The following two fields are the payload of PRRT feedback packet (packet type: 3). */
static int hf_prrt_packet_no = -1; /* 16 bits packet no of the first lost packet. */
static int hf_prrt_retr_round = -1; /* 16 bits retransmission round of the first lost. (first transmission is 0.) */
......@@ -323,7 +323,7 @@ dissect_prrt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += 4;
proto_tree_add_item(prrt_tree, hf_prrt_plr, tvb, offset, 4, FALSE);
offset += 4;
proto_tree_add_item(prrt_tree, hf_prrt_bw_est, tvb, offset, 4, FALSE);
proto_tree_add_item(prrt_tree, hf_prrt_datarate_est, tvb, offset, 4, FALSE);
offset += 4;
if (len == 24) {
......@@ -364,7 +364,7 @@ dissect_prrt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += 4;
proto_tree_add_item(prrt_tree, hf_prrt_plr, tvb, offset, 4, FALSE);
offset += 4;
proto_tree_add_item(prrt_tree, hf_prrt_bw_est, tvb, offset, 4, FALSE);
proto_tree_add_item(prrt_tree, hf_prrt_datarate_est, tvb, offset, 4, FALSE);
offset += 4;
if (len == 28) {
......@@ -484,10 +484,10 @@ proto_register_prrt(void)
FT_UINT32, BASE_DEC, NULL, 0x0,
"The packet loss rate measured at the receiver, stored in general PRRT feedback header", HFILL }
},
{ &hf_prrt_bw_est,
{ "Estimated Bandwidth", "prrt.feedback.bw",
{ &hf_prrt_datarate_est,
{ "Estimated Datarate", "prrt.feedback.datarate",
FT_UINT32, BASE_DEC, NULL, 0x0,
"The bandwidth estimated at the receiver, stored in general PRRT feedback header", HFILL }
"The datarate estimated at the receiver, stored in general PRRT feedback header", HFILL }
},
{ &hf_prrt_packet_no,
{ "Packet No", "prrt.feedback.packetno",
......
......@@ -92,7 +92,7 @@ static int hf_prrt_payload = -1; /* payload with arbitrary length, depend
static int hf_prrt_receiver_addr = -1; /* 32 bits IP address of the receiver */
static int hf_prrt_rtt_probe = -1; /* 32 bits timestamp of most recent data packet plus delay since reception of this packet. */
static int hf_prrt_plr = -1; /* 32 bits packet loss rate measured at the receiver. */
static int hf_prrt_bw_est = -1; /* 32 bits bandwidth estimated at the receiver. */
static int hf_prrt_datarate_est = -1; /* 32 bits datarate estimated at the receiver. */
/* The following two fields are the payload of PRRT feedback packet (packet type: 3). */
static int hf_prrt_packet_no = -1; /* 16 bits packet no of the first lost packet. */
static int hf_prrt_retr_round = -1; /* 16 bits retransmission round of the first lost. (first transmission is 0.) */
......@@ -361,7 +361,7 @@ dissect_prrt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += 4;
proto_tree_add_item(prrt_tree, hf_prrt_plr, tvb, offset, 4, FALSE);
offset += 4;
proto_tree_add_item(prrt_tree, hf_prrt_bw_est, tvb, offset, 4, FALSE);
proto_tree_add_item(prrt_tree, hf_prrt_datarate_est, tvb, offset, 4, FALSE);
offset += 4;
if (len == 24) {
......@@ -402,7 +402,7 @@ dissect_prrt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += 4;
proto_tree_add_item(prrt_tree, hf_prrt_plr, tvb, offset, 4, FALSE);
offset += 4;
proto_tree_add_item(prrt_tree, hf_prrt_bw_est, tvb, offset, 4, FALSE);
proto_tree_add_item(prrt_tree, hf_prrt_datarate_est, tvb, offset, 4, FALSE);
offset += 4;
if (len == 28) {
......@@ -524,10 +524,10 @@ proto_register_prrt(void)
FT_UINT32, BASE_DEC, NULL, 0x0,
"The packet loss rate measured at the receiver, stored in general PRRT feedback header", HFILL }
},
{ &hf_prrt_bw_est,
{ "Estimated Bandwidth", "prrt.feedback.bw",
{ &hf_prrt_datarate_est,
{ "Estimated Datarate", "prrt.feedback.datarate",
FT_UINT32, BASE_DEC, NULL, 0x0,
"The bandwidth estimated at the receiver, stored in general PRRT feedback header", HFILL }
"The datarate estimated at the receiver, stored in general PRRT feedback header", HFILL }
},
{ &hf_prrt_packet_no,
{ "Packet No", "prrt.feedback.packetno",
......
......@@ -74,7 +74,7 @@ static int hf_prrt_gap = -1;
static int hf_prrt_ngap = -1;
static int hf_prrt_burst = -1;
static int hf_prrt_nburst = -1;
static int hf_prrt_bw_est = -1;
static int hf_prrt_datarate_est = -1;
static int hf_prrt_buf_fb = -1;
/* Payload */
......@@ -206,7 +206,7 @@ static void dissect_prrt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += 2;
proto_tree_add_item(prrt_tree, hf_prrt_nburst, tvb, offset, 2, FALSE);
offset += 2;
proto_tree_add_item(prrt_tree, hf_prrt_bw_est, tvb, offset, 4, FALSE);
proto_tree_add_item(prrt_tree, hf_prrt_datarate_est, tvb, offset, 4, FALSE);
offset += 4;
proto_tree_add_item(prrt_tree, hf_prrt_buf_fb, tvb, offset, 4, FALSE);
} else if(packet_type == 4) {
......@@ -236,7 +236,7 @@ static void dissect_prrt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += 2;
proto_tree_add_item(prrt_tree, hf_prrt_nburst, tvb, offset, 2, FALSE);
offset += 2;
proto_tree_add_item(prrt_tree, hf_prrt_bw_est, tvb, offset, 4, FALSE);
proto_tree_add_item(prrt_tree, hf_prrt_datarate_est, tvb, offset, 4, FALSE);
offset += 4;
proto_tree_add_item(prrt_tree, hf_prrt_buf_fb, tvb, offset, 4, FALSE);
} else {
......@@ -292,8 +292,8 @@ void proto_register_prrt(void)
{ "Aggregated Burst Length", "prrt.feedback.burst", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL }},
{ &hf_prrt_nburst,
{ "Burst Count", "prrt.feedback.nburst", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL }},
{ &hf_prrt_bw_est,
{ "Estimated Bandwidth", "prrt.feedback.bw", FT_UINT32, BASE_DEC, NULL, 0x0, "The bandwidth estimated at the receiver, stored in general PRRT feedback header", HFILL }},
{ &hf_prrt_datarate_est,
{ "Estimated Datarate", "prrt.feedback.datarate", FT_UINT32, BASE_DEC, NULL, 0x0, "The datarate estimated at the receiver, stored in general PRRT feedback header", HFILL }},
{ &hf_prrt_buf_fb,
{ "Buffer Feedback", "prrt.feedback.buf_fb", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL }},
{ &hf_prrt_payload,
......
......@@ -145,11 +145,11 @@ cdef extern from "proto/socket.h":
uint32_t PrrtSocket_get_rtprop_fwd(PrrtSocket *socket)
float PrrtSocket_get_plr_fwd(PrrtSocket *socket)
uint32_t PrrtSocket_get_delivery_rate_fwd(PrrtSocket *socket)
uint32_t PrrtSocket_get_btlbw_fwd(PrrtSocket *s);
uint32_t PrrtSocket_get_btlbw_back(PrrtSocket *s);
uint32_t PrrtSocket_get_btldatarate_fwd(PrrtSocket *s);
uint32_t PrrtSocket_get_btldatarate_back(PrrtSocket *s);
uint32_t PrrtSocket_get_bbr_state(PrrtSocket *s)
uint64_t PrrtSocket_get_full_bw(PrrtSocket *s)
uint64_t PrrtSocket_get_full_datarate(PrrtSocket *s)
bint PrrtSocket_get_filled_pipe(PrrtSocket *s)
uint32_t PrrtSocket_get_cycle_index(PrrtSocket *s)
float PrrtSocket_get_pacing_gain(PrrtSocket *s)
......
......@@ -9,7 +9,7 @@ prrtByteCount_t BBR_Inflight(BBR* bbr, double gain)
if (bbr->rtprop == RTprop_Inf)
return bbr->initial_cwnd; /* no valid RTT samples yet */
uint32_t quanta = bbr->mps;
uint32_t estimated_bdp = (uint32_t) round((((double)bbr->bw) * bbr->rtprop) / (1000 * 1000));
uint32_t estimated_bdp = (uint32_t) round((((double)bbr->datarate) * bbr->rtprop) / (1000 * 1000));
return (uint32_t)(gain * estimated_bdp + quanta);
}
......@@ -20,7 +20,7 @@ void BBR_EnterStartup(BBR* bbr)
bbr->cwnd_gain = BBRHighGain;
}
void BBR_UpdateBtlBw(BBR* bbr, PrrtRateSample* rs, PrrtPacketTracking* tracking)
void BBR_UpdateBtlDatarate(BBR* bbr, PrrtRateSample* rs, PrrtPacketTracking* tracking)
{
if (tracking->delivered >= bbr->next_round_delivered) {
bbr->next_round_delivered = tracking->delivered;
......@@ -30,9 +30,9 @@ void BBR_UpdateBtlBw(BBR* bbr, PrrtRateSample* rs, PrrtPacketTracking* tracking)
bbr->round_start = false;
}
uint32_t delivery_rate_Bps = (uint32_t)((float) rs->delivery_rate);
if ((delivery_rate_Bps >= bbr->bw || !rs->is_app_limited) && delivery_rate_Bps != 0) {
bbr->bw = (uint32_t)WindowedFilter_push(bbr->btlBwFilter, delivery_rate_Bps);
debug(DEBUG_BBR, "Current BtlBw: %u, RS delivery rate: %u", bbr->bw, delivery_rate_Bps);
if ((delivery_rate_Bps >= bbr->datarate || !rs->is_app_limited) && delivery_rate_Bps != 0) {
bbr->datarate = (uint32_t)WindowedFilter_push(bbr->btlDatarateFilter, delivery_rate_Bps);
debug(DEBUG_BBR, "Current BtlDatarate: %u, RS delivery rate: %u", bbr->datarate, delivery_rate_Bps);
}
}
......@@ -40,13 +40,13 @@ void BBR_CheckFullPipe(BBR* bbr, PrrtRateSample* rs)
{
if (bbr->filled_pipe || !bbr->round_start || rs->is_app_limited)
return; // no need to check for a full pipe now
if (bbr->bw >= bbr->full_bw * PROBE_GAIN) { // BBR.BtlBw still growing?
bbr->full_bw = bbr->bw; // record new baseline level
bbr->full_bw_count = 0;
if (bbr->datarate >= bbr->full_datarate * PROBE_GAIN) { // BBR.BtlDatarate still growing?
bbr->full_datarate = bbr->datarate; // record new baseline level
bbr->full_datarate_count = 0;
return;
}
bbr->full_bw_count++; // another round w/o much growth
if (bbr->full_bw_count >= 3)
bbr->full_datarate_count++; // another round w/o much growth
if (bbr->full_datarate_count >= 3)
bbr->filled_pipe = true;
}
......@@ -71,13 +71,13 @@ void BBR_AdvanceCyclePhase(BBR* bbr)
}
void BBR_CheckCyclePhase(BBR* bbr, prrtByteCount_t bytes_lost, prrtByteCount_t prior_inflight) {
if (bbr->state == PROBE_BW && BBR_IsNextCyclePhase(bbr, bytes_lost, prior_inflight))
if (bbr->state == PROBE_DR && BBR_IsNextCyclePhase(bbr, bytes_lost, prior_inflight))
BBR_AdvanceCyclePhase(bbr);
}
void BBR_EnterProbeBW(BBR* bbr)
void BBR_EnterProbeDR(BBR* bbr)
{
bbr->state = PROBE_BW;
bbr->state = PROBE_DR;
bbr->pacing_gain = 1;
bbr->cwnd_gain = 2;
bbr->cycle_index = (uint8_t)(BBRGainCycleLen - 1 - (random() % 7));
......@@ -93,13 +93,13 @@ void BBR_CheckDrain(BBR* bbr, prrtByteCount_t bytes_inflight)
bbr->cwnd_gain = BBRHighGain; // maintain cwnd
}
if (bbr->state == DRAIN && bytes_inflight <= BBR_Inflight(bbr, 1.0))
BBR_EnterProbeBW(bbr); // we estimate queue is drained
BBR_EnterProbeDR(bbr); // we estimate queue is drained
}
void BBR_ExitProbeRTT(BBR* bbr)
{
if (bbr->filled_pipe)
BBR_EnterProbeBW(bbr);
BBR_EnterProbeDR(bbr);
else
BBR_EnterStartup(bbr);
}
......@@ -167,7 +167,7 @@ void BBR_CheckProbeRTT(BBR *bbr, PrrtPacketTracking *tracking) {
void BBR_UpdateModelAndState(BBR *bbr, PrrtRateSample *rs, PrrtPacketTracking *packetTracking, prrtTimedelta_t rtt)
{
BBR_UpdateBtlBw(bbr, rs, packetTracking);
BBR_UpdateBtlDatarate(bbr, rs, packetTracking);
BBR_CheckCyclePhase(bbr, packetTracking->bytes_lost, packetTracking->prior_inflight);
BBR_CheckFullPipe(bbr, rs);
BBR_CheckDrain(bbr, packetTracking->pipe);
......@@ -217,9 +217,9 @@ void BBR_SetCwnd(BBR* bbr, PrrtPacketTracking* packetTracking)
void BBR_SetPacingRateWithGain(BBR* bbr, double pacing_gain)
{
double rate = (pacing_gain * ((double)bbr->bw));
debug(DEBUG_BBR, "Current rate: %f, Pacing gain: %f, BtlBw: %u, Calc Rate: %f, Filled pipe: %u", bbr->pacing_rate,
pacing_gain, bbr->bw, rate, bbr->filled_pipe);
double rate = (pacing_gain * ((double)bbr->datarate));
debug(DEBUG_BBR, "Current rate: %f, Pacing gain: %f, BtlDatarate: %u, Calc Rate: %f, Filled pipe: %u", bbr->pacing_rate,
pacing_gain, bbr->datarate, rate, bbr->filled_pipe);
if (rate != 0 && (bbr->filled_pipe || rate > bbr->pacing_rate))
bbr->pacing_rate = rate;
}
......@@ -310,7 +310,7 @@ BBR* BBR_Init(prrtByteCount_t maximum_payload_size)
bbr->min_pipe_cwnd = 4 * maximum_payload_size;
bbr->initial_cwnd = 4 * maximum_payload_size;
bbr->has_seen_rtt = false;
bbr->btlBwFilter = WindowedFilter_create(true, 10);
bbr->btlDatarateFilter = WindowedFilter_create(true, 10);
bbr->rtprop = RTprop_Inf;
bbr->rtprop_stamp = PrrtClock_get_current_time_us();
bbr->probe_rtt_done_stamp = 0;
......@@ -328,12 +328,12 @@ BBR* BBR_Init(prrtByteCount_t maximum_payload_size)
//Init full pipe
bbr->filled_pipe = false;
bbr->full_bw = 0;
bbr->full_bw_count = 0;
bbr->full_datarate = 0;
bbr->full_datarate_count = 0;
//Init pacing rate
double nominal_bandwidth = bbr->initial_cwnd / (bbr->has_seen_rtt ? bbr->rtprop : 1000);
bbr->pacing_rate = bbr->pacing_gain * nominal_bandwidth;
double nominal_datarate = bbr->initial_cwnd / (bbr->has_seen_rtt ? bbr->rtprop : 1000);
bbr->pacing_rate = bbr->pacing_gain * nominal_datarate;
BBR_EnterStartup(bbr);
......@@ -346,7 +346,7 @@ BBR* BBR_Init(prrtByteCount_t maximum_payload_size)
void BBR_destroy(BBR* bbr)
{
WindowedFilter_destroy(bbr->btlBwFilter);
WindowedFilter_destroy(bbr->btlDatarateFilter);
check(pthread_mutex_destroy(&bbr->lock) == 0, "lock destroy failed.");
free(bbr);
return;
......@@ -376,14 +376,14 @@ prrtByteCount_t BBR_getCwnd(BBR* bbr)
return 0;
}
prrtDeliveryRate_t BBR_getBtlBw(BBR* bbr)
prrtDeliveryRate_t BBR_getBtlDatarate(BBR* bbr)
{
check(pthread_mutex_lock(&bbr->lock) == 0, "Lock failed.");
prrtDeliveryRate_t res = bbr->bw;
prrtDeliveryRate_t res = bbr->datarate;
check(pthread_mutex_unlock(&bbr->lock) == 0, "Unlock failed.");
return res;
error:
PERROR("BBR_getBtlBw failed.")
PERROR("BBR_getBtlDatarate failed.")
return 0;
}
......@@ -448,9 +448,9 @@ bool BBR_getRoundStart(BBR* bbr) {
return 0;
}
prrtByteCount_t BBR_getFullBw(BBR* bbr) {
prrtByteCount_t BBR_getFullDatarate(BBR* bbr) {
check(pthread_mutex_lock(&bbr->lock) == 0, "Lock failed.");
prrtByteCount_t res = bbr->full_bw;
prrtByteCount_t res = bbr->full_datarate;
check(pthread_mutex_unlock(&bbr->lock) == 0, "Unlock failed.");
return res;
error:
......
......@@ -21,7 +21,7 @@
enum bbr_state {
STARTUP,
DRAIN,
PROBE_BW,
PROBE_DR,
PROBE_RTT
};
......@@ -47,8 +47,8 @@ typedef struct bbr {
float cwnd_gain;
bool filled_pipe;
prrtByteCount_t full_bw;
uint32_t full_bw_count;
prrtByteCount_t full_datarate;
uint32_t full_datarate_count;
double pacing_rate;
bool has_seen_rtt;
......@@ -70,9 +70,9 @@ typedef struct bbr {
prrtByteCount_t send_quantum;
prrtDeliveryRate_t bw;
prrtDeliveryRate_t datarate;
WindowedFilter* btlBwFilter;
WindowedFilter* btlDatarateFilter;
} BBR;
BBR* BBR_Init(prrtByteCount_t maximum_payload_size);
......@@ -84,9 +84,9 @@ void BBR_destroy(BBR* bbr);
double BBR_getPacingRate(BBR* bbr);
prrtByteCount_t BBR_getCwnd(BBR* bbr);
prrtDeliveryRate_t BBR_getBtlBw(BBR* bbr);
prrtDeliveryRate_t BBR_getBtlDatarate(BBR* bbr);
uint32_t BBR_getState(BBR* bbr);
prrtByteCount_t BBR_getFullBw(BBR* bbr);
prrtByteCount_t BBR_getFullDatarate(BBR* bbr);
double BBR_getPacingGain(BBR* bbr);
uint32_t BBR_getCycleIndex(BBR* bbr);
bool BBR_getFilledPipe(BBR* bbr);
......
......@@ -143,7 +143,7 @@ static void handle_data_packet(PrrtSocket *sock_ptr, PrrtPacket *packet) {
debug(DEBUG_DATARECEIVER, "Not relevant: %u", seqno);
PrrtPacket_destroy(packet);
} else {
PrrtChannelStateInformation_update_delivery_rate(sock_ptr->senderChannelStateInformation, payload->btlbw);
PrrtChannelStateInformation_update_delivery_rate(sock_ptr->senderChannelStateInformation, payload->btl_datarate);
sock_ptr->send_peer_btl_pace = payload->btl_pace;
prrtSequenceNumber_t baseSequenceNumber = packet->sequenceNumber - packet->index;
......
......@@ -110,8 +110,8 @@ static bool send_packet(PrrtSocket *sock_ptr, PrrtPacket *packet) {
if(pacing_rate != 0) {
channelPacingTime = (prrtTimedelta_t) round(((1000 * 1000 * ((double) packet->payloadLength)) / pacing_rate));
}
// Cross-Pace iff PROBE_BW and unity gain
if(sock_ptr->recv_peer_btl_pace != 0 && state == PROBE_BW) {
// Cross-Pace iff PROBE_DR and unity gain
if(sock_ptr->recv_peer_btl_pace != 0 && state == PROBE_DR) {
double pt = round(((double) sock_ptr->recv_peer_btl_pace) / pacing_gain);
if (pt > (TIMESTAMP_SPACE-1)) {
peerPacingTime = TIMESTAMP_SPACE-1;
......@@ -128,7 +128,7 @@ static bool send_packet(PrrtSocket *sock_ptr, PrrtPacket *packet) {
prrtTimedelta_t btl_pace = MAX(MAX(PrrtPace_get_effective(sock_ptr->prrtTransmitPace), PrrtPace_get_effective(sock_ptr->appSendPace)), PrrtSocket_get_sock_opt(sock_ptr, "nw_pace"));
if(PrrtPacket_type(packet) == PACKET_TYPE_DATA) {
((PrrtPacketDataPayload*) (packet->payload))->timestamp = PrrtClock_get_current_time_us();
((PrrtPacketDataPayload*) (packet->payload))->btlbw = PrrtReceiver_get_BBR_btlDr(sock_ptr->receiver);
((PrrtPacketDataPayload*) (packet->payload))->btl_datarate = PrrtReceiver_get_BBR_btlDr(sock_ptr->receiver);
((PrrtPacketDataPayload*) (packet->payload))->btl_pace = btl_pace;
} else if(PrrtPacket_type(packet) == PACKET_TYPE_REDUNDANCY) {
((PrrtPacketRedundancyPayload*) (packet->payload))->timestamp = PrrtClock_get_current_time_us();
......
......@@ -352,7 +352,7 @@ uint32_t PrrtReceiver_get_retransmission_delay(PrrtReceiver *receiver, PrrtAppli
prrtDeliveryRate_t PrrtReceiver_get_BBR_btlDr(PrrtReceiver *receiver) {
check(pthread_mutex_lock(&receiver->lock) == 0, "Lock failed.");
prrtDeliveryRate_t res = BBR_getBtlBw(receiver->bbr);
prrtDeliveryRate_t res = BBR_getBtlDatarate(receiver->bbr);
check(pthread_mutex_unlock(&receiver->lock) == 0, "Unlock failed.");
return res;
......
......@@ -716,8 +716,8 @@ bool PrrtSocket_get_filled_pipe(PrrtSocket *s) {
return BBR_getFilledPipe(s->receiver->bbr);
}
uint64_t PrrtSocket_get_full_bw(PrrtSocket *s) {
return BBR_getFullBw(s->receiver->bbr);
uint64_t PrrtSocket_get_full_datarate(PrrtSocket *s) {
return BBR_getFullDatarate(s->receiver->bbr);
}
prrtByteCount_t PrrtSocket_get_cwnd(PrrtSocket *s) {
......@@ -748,11 +748,11 @@ uint32_t PrrtSocket_get_pacing_rate(PrrtSocket *s) {
return BBR_getPacingRate(s->receiver->bbr);
}
prrtDeliveryRate_t PrrtSocket_get_btlbw_fwd(PrrtSocket *s) {
return BBR_getBtlBw(s->receiver->bbr);
prrtDeliveryRate_t PrrtSocket_get_btldatarate_fwd(PrrtSocket *s) {
return BBR_getBtlDatarate(s->receiver->bbr);
}
prrtDeliveryRate_t PrrtSocket_get_btlbw_back(PrrtSocket *s) {
prrtDeliveryRate_t PrrtSocket_get_btldatarate_back(PrrtSocket *s) {
return PrrtChannelStateInformation_get_delivery_rate(s->senderChannelStateInformation);
}
......
......@@ -152,9 +152,9 @@ bool PrrtSocket_uses_thread_pinning(PrrtSocket *s);
uint32_t PrrtSocket_get_rtprop_fwd(PrrtSocket *s);
prrtPacketLossRate_t PrrtSocket_get_plr_fwd(PrrtSocket *s);
prrtDeliveryRate_t PrrtSocket_get_delivery_rate_fwd(PrrtSocket *s);
prrtDeliveryRate_t PrrtSocket_get_btlbw_fwd(PrrtSocket *s);
prrtDeliveryRate_t PrrtSocket_get_btlbw_back(PrrtSocket *s);
uint64_t PrrtSocket_get_full_bw(PrrtSocket *s);
prrtDeliveryRate_t PrrtSocket_get_btldatarate_fwd(PrrtSocket *s);
prrtDeliveryRate_t PrrtSocket_get_btldatarate_back(PrrtSocket *s);
uint64_t PrrtSocket_get_full_datarate(PrrtSocket *s);
bool PrrtSocket_get_filled_pipe(PrrtSocket *s);
uint32_t PrrtSocket_get_bbr_state(PrrtSocket *s);
uint32_t PrrtSocket_get_bbr_app_limited(PrrtSocket *s);
......
......@@ -205,7 +205,7 @@ void *encode_data_header(void *buf_ptr, const void *payload) {
PrrtPacketField_encode(data_payload, buf_ptr, prrtTimestamp_t, timestamp, htonl);
PrrtPacketField_encode(data_payload, buf_ptr, prrtTimedelta_t, groupRTprop_us, htonl);
PrrtPacketField_encode(data_payload, buf_ptr, prrtTimestamp_t, packetTimeout_us, htonl);
PrrtPacketField_encode(data_payload, buf_ptr, prrtDeliveryRate_t, btlbw, htonl);
PrrtPacketField_encode(data_payload, buf_ptr, prrtDeliveryRate_t, btl_datarate, htonl);
return buf_ptr;
}
......@@ -306,7 +306,7 @@ void *decode_data_header(void *dstBuffer, const void *srcBuffer) {
PrrtPacketField_decode(data_payload, dstBuffer, prrtTimestamp_t, timestamp, ntohl);
PrrtPacketField_decode(data_payload, dstBuffer, prrtTimedelta_t, groupRTprop_us, ntohl);
PrrtPacketField_decode(data_payload, dstBuffer, prrtTimedelta_t, packetTimeout_us, ntohl);
PrrtPacketField_decode(data_payload, dstBuffer, prrtDeliveryRate_t, btlbw, ntohl);
PrrtPacketField_decode(data_payload, dstBuffer, prrtDeliveryRate_t, btl_datarate, ntohl);
return dstBuffer;
}
......
......@@ -73,7 +73,7 @@ typedef struct prrtPacketDataPayload {
prrtTimestamp_t timestamp;
prrtTimedelta_t groupRTprop_us;
prrtTimestamp_t packetTimeout_us;
prrtDeliveryRate_t btlbw;
prrtDeliveryRate_t btl_datarate;
prrtTimedelta_t btl_pace;
} __attribute__((packed)) PrrtPacketDataPayload;
......
......@@ -195,11 +195,11 @@ cdef class PrrtSocket:
# Channel Properties
property data_rate_btl_fwd:
def __get__(self):
return cprrt.PrrtSocket_get_btlbw_fwd(self._c_socket)
return cprrt.PrrtSocket_get_btldatarate_fwd(self._c_socket)
property data_rate_btl_back:
def __get__(self):
return cprrt.PrrtSocket_get_btlbw_back(self._c_socket)
return cprrt.PrrtSocket_get_btldatarate_back(self._c_socket)
property rtt_prop_fwd:
def __get__(self):
......@@ -384,9 +384,9 @@ cdef class PrrtSocket:
def __get__(self):
return cprrt.PrrtSocket_get_filled_pipe(self._c_socket)
property bbr_full_bw:
property bbr_full_datarate:
def __get__(self):
return cprrt.PrrtSocket_get_full_bw(self._c_socket)
return cprrt.PrrtSocket_get_full_datarate(self._c_socket)
property bbr_cycle_index:
def __get__(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment